1. 程式人生 > 其它 >docker容器和映象的停止和刪除

docker容器和映象的停止和刪除

docker容器和映象的停止和刪除

1.列出所有docker映象

docker images
  • repository:儲存庫
  • tag:用於版本控制
  • image id:映象的ID
  • created:建立時間
  • size:映象大小

儲存庫和映象ID分析

(1)repository-儲存庫:此時為dockerhub中的nginx官方倉庫,若為私有倉庫,格式一般為demo.harbor.com/demo/nginx:tag

docker login --username=$username $url

登陸倉庫,並輸入密碼

docker pull $image_url

從倉庫中拉取映象

docker images

檢視映象列表

(2)image id-映象的ID:映象ID唯一的表示一個映象,ID值是根據該映象的資料配置檔案使用sha256演算法計算獲得。檔案存放在 /var/lib/docker/image/overlay2/imagedb/content/sha256 目錄中。

與上圖兩個images的image id對比一致。

開啟第一個nginx的檔案檢視

cat 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399 | python -m json.tool

可以看出確實是配置檔案

我們再將此檔案的sha256值計算出來

sha256sum 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399

可以看出這個檔案的sha256值等於檔名,也等於image id

2.檢視正在執行的、或所有的docker容器

  1. 檢視正在執行的docker容器
docker ps
  1. 檢視所有的docker容器

這個命令也會顯示未啟動的容器資訊

docker ps -a

3.停止所有容器

docker stop $(docker ps -aq)

docker stop操作的物件是 container id 而不是 image name

4.刪除所有容器

docker rm $(docker ps -aq)

和停止容器同樣, docker stop 操作的物件也是 container id

5.刪除所有映象

通過 image name 刪除單個映象

docker image rm $image_name

通過 image id 刪除單個映象

docker rmi $image_id

刪除所有映象

docker rmi $(docker images -q)

6.刪除所有停止的容器

docker container prune -f

7.刪除所有不使用的映象

docker image prune --force --all 
//或者 
docker image prune -f -a