docker常用指令
列出所有容器ID
docker ps -aq
查看所有運行或者不運行容器
docker ps -a
停止所有的container(容器),這樣才能夠刪除其中的images:
docker stop (docker ps -a -q) 或者 docker stop (docker ps -aq)
如果想要刪除所有container(容器)的話再加一個指令:
docker rm (docker ps -a -q) 或者 docker rm (docker ps -aq)
查看當前有些什麼images
docker images
刪除images(鏡像),通過image的id來指定刪除誰
docker rmi <image id>
想要刪除untagged images,也就是那些id爲的image的話可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要刪除全部image(鏡像)的話
docker rmi $(docker images -q)
強制刪除全部image的話
docker rmi -f $(docker images -q)
從容器到宿主機複製
docker cp tomcat:/webapps/js/text.js /home/admin
docker cp 容器名: 容器路徑 宿主機路徑
從宿主機到容器複製
docker cp /home/admin/text.js tomcat:/webapps/js
docker cp 宿主路徑中文件 容器名 容器路徑
刪除所有停止的容器
docker container prune
刪除所有不使用的鏡像
docker image prune --force --all或者docker image prune -f -a
停止、啓動、殺死、重啓一個容器
docker stop Name或者ID
docker start Name或者ID
docker kill Name或者ID
docker restart name或者ID
docker進入容器,查看配置文件
docker exec :在運行的容器中執行命令
-d :分離模式: 在後臺運行
-i :即使沒有附加也保持STDIN(標準輸入) 打開,以交互模式運行容器,通常與 -t 同時使用;
-t: 爲容器重新分配一個僞輸入終端,通常與 -i 同時使用;
docker exec -it f94d2c317477 /bin/bash
出現root@f94d2c317477:/usr/share/elasticsearch/config# vi elasticsearch.yml
bash: vi: command not found
apt-get update && apt-get install vim -y
修改配置、退出容器
如果要正常退出不關閉容器,請按Ctrl+P+Q進行退出容器
如果使用exit退出,那麼在退出之後會關閉容器,可以使用下面的流程進行恢復
使用docker restart命令重啓容器
使用docker attach命令進入容器
docker鏡像保存
有時我們需要修改Apollo默認的Docker image,那麼如何對其進行保存與加載呢?下面逐一介紹之。
首先確保當前需要保存的Docker image處於活動狀態(未被關閉),在Docker外部使用如下命令保存:
1# 查看當前活動的Docker image
docker ps
-----------------------------------------------
#保存本地Docker image
#-p保存時暫停當前Docker image的運行
#a954f492dab4表示Docker container id
#registry.docker-cn.com/apolloauto/apollo表示repository(或稱image)
#davidhopper_dev表示tag,可以自己隨意命名
# container id repository tag
docker commit -p a954f492dab4 registry.docker-cn.com/apolloauto/apollo:davidhopper_dev
使用如下命令加載步驟一中保存的本地Docker image:
# -C表示使用國內服務器
# -l -t davidhopper_dev表示基於本地標籤爲davidhopper_dev的Docker image拉取
bash docker/scripts/dev_start.sh -C -l -t davidhopper_dev
整個操作過程的截圖如下所示: