prune
要使用此命令,客户端和守护程序API版本都必须至少为1.25。在客户端上使用docker version命令可以检查客户端和守护程序API版本。
1
|
docker volume prune [OPTIONS]
|
删除未被任何容器使用的本地卷。
OPTIONS
名称,简写 | 说明 |
--filter | 提供过滤值。 |
--force , -f | 不提示确认信息,直接删除。 |
rm
要使用此命令,客户端和守护程序API版本都必须至少为1.21。在客户端上使用docker version命令可以检查客户端和守护程序API版本。
1
|
docker volume rm [OPTIONS] VOLUME [VOLUME...]
|
删除一个或多个卷。从1.25版本起,支持一个选项--force , -f,强制删除一个或多个卷。
补充:docker 移除,裁剪,删除(prune)不使用的镜像、容器、卷、网络
提供 prune命令,用于移除不使用的镜像、容器、卷、网络。
Prune images
docker image prune移除没有标签并且没有被容器引用的镜像,这种镜像称为 dangling(摇晃的) 镜像。
示例1:docker image prune
删除了redis,无标签且无引用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#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
1
|
docker image prune -a
|
跳过警告提示:--force或-f
1
|
docker image prune -f
|
示例3:执行过滤删除:
超过24小时创建的镜像
1
|
docker image prune -a --filter "until=24h"
|
关于过滤器的内容,查看 docker image prune手册
移除容器s
当停止容器,不会自动删除,除非在 docker run 时指定了 --rm。一个停止的容器可写层仍然会占用磁盘空间,所以清除它,使用 docker container prune命令。
其他参数类似 docker images prune
移除卷
卷会被一个或多个容器使用,并且占用主机空间。卷不会自动移除,因为自动移除,会破坏数据。
1
|
docker volume prune
|
其他参数类似 docker images prune
移除网络
Docker 网络不会占用磁盘空间,但是他们创建了 iptables规则,桥接网络服务,路由entries。清除未被容器使用的网络,这么做
1
|
docker network prune
|
其他参数类似 docker images prune
移除 Everything
docker system prune 命令是一个快捷方式,用于移除镜像,容器,网络。
在 Docker 17.06.0 和更早,卷也是可以移除的。在Docker 17.06.1或更高版本,需要指定参数--volumes。
示例(没有移除卷):
1
2
3
4
5
6
7
|
# 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
1
2
3
4
5
6
7
8
|
# 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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/asty9000/article/details/103408348