要使用此命令,客户端和守护程序API版本都必须至少为1.25。在客户端上使用docker version命令可以检查客户端和守护程序API版本。
docker volume prune [OPTIONS]
删除未被任何容器使用的本地卷。
OPTIONS名称,简写 | 说明 |
--filter | 提供过滤值。 |
--force , -f | 不提示确认信息,直接删除。 |
要使用此命令,客户端和守护程序API版本都必须至少为1.21。在客户端上使用docker version命令可以检查客户端和守护程序API版本。
docker volume rm [OPTIONS] VOLUME [VOLUME...]
删除一个或多个卷。从1.25版本起,支持一个选项--force , -f,强制删除一个或多个卷。
补充:docker 移除,裁剪,删除(prune)不使用的镜像、容器、卷、网络
参考docker prune
提供 prune命令,用于移除不使用的镜像、容器、卷、网络。
Prune imagesdocker 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
移除 Everything其他参数类似 docker images prune
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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。如有错误或未考虑完全的地方,望不吝赐教。