docker volume刪除卷的操作

prune

要使用此命令,客戶端和守護程序API版本都必須至少為1.25。在客戶端上使用docker version命令可以檢查客戶端和守護程序API版本。

docker volume prune [OPTIONS]

刪除未被任何容器使用的本地卷。

OPTIONS

名稱,簡寫 說明
–filter 提供過濾值。
–force , -f 不提示確認信息,直接刪除。

rm

要使用此命令,客戶端和守護程序API版本都必須至少為1.21。在客戶端上使用docker version命令可以檢查客戶端和守護程序API版本。

docker volume rm [OPTIONS] VOLUME [VOLUME...]

刪除一個或多個卷。從1.25版本起,支持一個選項–force , -f,強制刪除一個或多個卷。

補充:docker 移除,裁剪,刪除(prune)不使用的鏡像、容器、卷、網絡

參考docker prune

提供 prune命令,用於移除不使用的鏡像、容器、卷、網絡。

Prune images

docker image prune移除沒有標簽並且沒有被容器引用的鏡像,這種鏡像稱為 dangling(搖晃的) 鏡像。

示例1:docker image prune

刪除瞭redis,無標簽且無引用

#docker ps -a
CONTAINER ID IMAGE  COMMAND CREATED STATUS PORTS  NAMES
# docker images
REPOSITORY    TAG  IMAGE ID  CREATED  SIZE
nginx     latest ae2feff98a0c 4 days ago  133MB
redis     <none> ef47f3b6dc11 8 days ago  104MB
centos     latest 300e315adb2f 12 days ago 209MB
ubuntu     latest f643c72bc252 3 weeks ago 72.9MB
docs/docker.github.io latest 32ed84d97e30 6 months ago 1GB
# docker image prune
# docker images
REPOSITORY    TAG  IMAGE ID  CREATED  SIZE
nginx     latest ae2feff98a0c 4 days ago  133MB
centos     latest 300e315adb2f 12 days ago 209MB
ubuntu     latest f643c72bc252 3 weeks ago 72.9MB
docs/docker.github.io latest 32ed84d97e30 6 months ago 1GB

示例2:移除所有沒有容器使用的鏡像 -a

docker image prune -a

跳過警告提示:–force或-f

docker image prune -f

示例3:執行過濾刪除:

超過24小時創建的鏡像

docker image prune -a --filter "until=24h"

關於過濾器的內容,查看 docker image prune手冊

移除容器s

當停止容器,不會自動刪除,除非在 docker run 時指定瞭 –rm。一個停止的容器可寫層仍然會占用磁盤空間,所以清除它,使用 docker container prune命令。

其他參數類似 docker images prune

移除卷

卷會被一個或多個容器使用,並且占用主機空間。卷不會自動移除,因為自動移除,會破壞數據。

docker volume prune

其他參數類似 docker images prune

移除網絡

Docker 網絡不會占用磁盤空間,但是他們創建瞭 iptables規則,橋接網絡服務,路由entries。清除未被容器使用的網絡,這麼做

docker network prune

其他參數類似 docker images prune

移除 Everything

docker system prune 命令是一個快捷方式,用於移除鏡像,容器,網絡。

在 Docker 17.06.0 和更早,卷也是可以移除的。在Docker 17.06.1或更高版本,需要指定參數–volumes。

示例(沒有移除卷):

# docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all build cache
Are you sure you want to continue? [y/N] y

示例(有瞭移除卷功能):添加–volumes

# docker system prune --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all volumes not used by at least one container
  - all dangling images
  - all build cache
Are you sure you want to continue? [y/N] y

其他參數類似 docker images prune

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: