Docker常用指令和鏡像保存

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,那麼如何對其進行保存與加載呢?下面逐一介紹之。

img

首先確保當前需要保存的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

img

使用如下命令加載步驟一中保存的本地Docker image

# -C表示使用國內服務器
# -l -t davidhopper_dev表示基於本地標籤爲davidhopper_dev的Docker image拉取
bash docker/scripts/dev_start.sh -C -l -t davidhopper_dev

整個操作過程的截圖如下所示:

img

imgimg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章