查看鏡像
命令 | 描述 |
---|---|
docker images | 列出所有鏡像文件 |
docker images -a | 列出所有得鏡像文件-包括歷史 |
docker rmi <image ID> | 刪除一個或多個鏡像 |
查看容器
命令 | 描述 |
---|---|
docker ps | 列出當(dāng)前所有正在運行得容器 |
docker ps -l | 列出最近一次啟動得容器 |
docker ps -a | 列出所有容器(包括歷史隅茎,即運行過得容器) |
docker ps -q | 列出最近一次運行得容器ID |
啟動容器
命令 | 描述 |
---|---|
docker start/stop/restart <container> | 開啟/停止/重啟container |
docker start [container_id] | 再次運行某個container (包括歷史container) |
docker attach [container_id] | 連接一個正在運行的container實例(即實例必須為start狀態(tài),可以多個窗口同時attach 一個container實例) |
docker exec -ti <container_id> /bin/bash | 進入容器 |
docker start -i <container> | 啟動一個container并進入交互模式(相當(dāng)于先start缴守,在attach) |
docker run -i -t <image> /bin/bash | 使用image創(chuàng)建container并進入交互模式, login shell是/bin/bash |
docker run -i -t -p <host_port:contain_port> | 映射 HOST 端口到容器,方便外部訪問容器內(nèi)服務(wù)筹麸,host_port 可以省略鹦马,省略表示把 container_port 映射到一個動態(tài)端口。 |
注:使用start是啟動已經(jīng)創(chuàng)建過得container过椎,使用run則通過image開啟一個新的container室梅。
如何在docker容器和宿主機之間復(fù)制文件
命令 | 描述 |
---|---|
sudo docker cp host_path containerID:container_path | 從主機復(fù)制到容器 |
sudo docker cp containerID:container_path host_path | 從容器復(fù)制到主機 |
docker run --name cloud1 -h cloud1 -it jchubby/spark:1.0 | 利用鏡像啟用容器 |
刪除容器
命令 | 描述 | |
---|---|---|
docker rm <container...> | 刪除一個或多個container | |
docker rm docker ps -a -q
|
刪除所有的container | |
docker ps -a -q | xargs docker rm | 同上, 刪除所有的container |
通過容器生成新的鏡像
命令 | 描述 |
---|---|
docker commit <container-id> <image-name> | 把一個容器轉(zhuǎn)變?yōu)橐粋€新的鏡像 |
持久化容器
命令 | 描述 |
---|---|
docker export <CONTAINER ID> > /tmp/export.tar | export命令用于持久化容器 |
特殊命令
命令 | 描述 |
---|---|
docker logs $CONTAINER_ID | 查看docker實例運行日志,確保正常運行 |
docker inspect $CONTAINER_ID docker inspect <image或者container> | 查看image或container的底層信息 |
docker build <path> | 尋找path路徑下名為的Dockerfile的配置文件疚宇,使用此配置生成新的image |
docker build -t repo[:tag] | 同上亡鼠,可以指定repo和可選的tag |
docker build -f <dockerfile> | 使用指定的dockerfile配置文件,docker以stdin方式獲取內(nèi)容敷待,使用此配置生成新的image |
docker port <container> <container port> | 查看本地哪個端口映射到container的指定端口间涵,其實用docker ps 也可以看到 |