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容器
- 查看正在運行的docker容器
docker ps
- 查看所有的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

