本文主要是介绍docker下移除不使用的镜像、容器、卷、网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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
这篇关于docker下移除不使用的镜像、容器、卷、网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!