docker容器和鏡像的停止和刪除


docker容器和鏡像的停止和刪除

1.列出所有docker鏡像

docker images

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 目錄中。
image id存放位置

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

打開第一個nginx的文件查看

cat 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399 | python -m json.tool

nginx sha256文件

可以看出確實是配置文件

我們再將此文件的sha256值計算出來

sha256sum 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399

image配置文件的sha256值計算

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

2.查看正在運行的、或所有的docker容器

  1. 查看正在運行的docker容器
docker ps
  1. 查看所有的docker容器

這個命令也會顯示未啟動的容器信息

docker ps -a

顯示docker容器

3.停止所有容器

docker stop $(docker ps -aq)

docker stop操作的對象是 container id 而不是 image name

docker stop all

4.刪除所有容器

docker rm $(docker ps -aq)

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

docker delete all container

5.刪除所有鏡像

通過 image name 刪除單個鏡像

docker image rm $image_name

delete images through image name

通過 image id 刪除單個鏡像

docker rmi $image_id

delete images through image id

刪除所有鏡像

docker rmi $(docker images -q)

delete all images

6.刪除所有停止的容器

docker container prune -f

delete container which doesn't use

7.刪除所有不使用的鏡像

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

delete images which doesn't use


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM