docker save
docker save
命令用來將一個或多個image打包保存,將這些鏡像保存在一個tar包中翁锡,例如:
# 可以是image保存
docker save -o images.tar postgres:9.6 mongo:3.4
# 可以是container保存,實際上也是在保存該container后的image
docker save -o images.tar postgres
那么如何導(dǎo)入通過 save
方式持久化保存的鏡像呢尤蛮?通過命令 laod
具體如下抡爹,注意不可以重新制定鏡像的名稱
docker load < images.tar
docker export
docker export
命令用來將container的文件系統(tǒng)進行打包,所以只能夠指定container浅萧,而不能是image。
docker export
的應(yīng)用場景主要是用來制作基礎(chǔ)鏡像哲思,比如用一個鏡像啟動了一個容器洼畅,然后在該容器中安裝了一些軟件和一些設(shè)置的情況。
docker export
導(dǎo)出的鏡像文件大小棚赔,小于 docker save
保存的鏡像帝簇。
docker export
導(dǎo)出是根據(jù)容器拿到的鏡像,再倒入時會丟失鏡像所有的歷史靠益,所以無法進行回滾操作(docker tag <LAYER ID> <IMAGE NAME>
)丧肴;而 docker save
保存的鏡像,沒有丟失鏡像的歷史胧后,可以回滾到之前的層(layer)芋浮。(查看方法: docker images --tree
)
那么如何導(dǎo)入通過 export
方式持久化保存的容器呢?通過命令 import
具體如下壳快,注意可以設(shè)置鏡像的名稱
# 直接倒入纸巷,不指定名稱時
docker import images.tar
# 倒入設(shè)置鏡像名稱時
docker import - new-image:tag < images.tar
docker images
-
docker images -a
: 查看本地所有的容器,包括中間映像層眶痰,默認情況下過濾掉中間映像層何暇; -
docker images --no-trunc
: 顯示完整的鏡像信息; -
docker images -q
: 只顯示鏡像ID凛驮;
docker kill
docker kill
命令直接發(fā)送 SIGKILL
信號殺死容器裆站。
-
docker kill -s KILL ${CONTAINER}
: 像容器發(fā)送一個刪除信號,其中-s KILL
默認可以省略黔夭,疑問-s
默認傳遞的信號就是KILL
-
docker kill $(docker ps -a -q)
: 刪除所有的容器
docker stop
docker stop
先發(fā)送 SIGTERM
信號給docker宏胯,允許其在一定時間(默認10s)內(nèi)進行一些操作(例如資源回收),若這段時間內(nèi)容器未停止本姥,則發(fā)送 SIGKILL
信號強行殺死容器肩袍。
docker run
docker run
從鏡像中啟動一個容器,創(chuàng)建的是一個全新的容器婚惫。
docker start
docker start
運行已停止的容器氛赐,例如我們通過 docker kill
或 docker stop
命令停止了容器之后魂爪,通過 docker ps -a
查看到狀態(tài)為 EXITED 的容器即為停止的容器,此時可以通過 docker start
命令來啟動這些容器艰管。
再次啟動的容器滓侍,會保留上一次結(jié)束前做的變動,容器的ID不會改變牲芋。
docker rm
docker rm
刪除容器撩笆,但是有一點需要注意,在刪除容器之前缸浦,需要先將容器 docker kill
或是 docker stop
否則會報錯夕冲。
docker rmi
docker rmi
刪除鏡像。但是有一點需要注意裂逐,在刪除鏡像之前歹鱼,需要先將由該鏡像生成的容器給刪除才行,否則在刪除鏡像的時候會刪除不干凈(還保留有 IMAGE ID卜高,但是 REPOSITORY / TAG 沒有了為 <none>)弥姻。
另外如果通過 IMAGE ID 來刪除鏡像的時候,如果多個具有相同 IMAGE ID 不同名稱(REPOSITORY)的鏡像的情況篙悯,會出現(xiàn)報錯蚁阳,報錯內(nèi)容如下:
Error:Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories
此時正確的做法铃绒,應(yīng)該是通過 REPOSITORY 來執(zhí)行刪除鏡像操作鸽照。