如何快速清理 docker 资源

前端之家收集整理的这篇文章主要介绍了如何快速清理 docker 资源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

快速的清理 docker 占用的系统资源,具体点说就是删除那些无用的 镜像、容器、网络和数据卷。

docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。docker volume ls:列出数据卷。docker network ls:列出 network。docker info:显示系统级别的信息,比如容器和镜像的数量等。

删除那些未被使用的资源

删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache:

$ docker system prune

删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,你需要显式的指定 --volumns 参数。比如你可能想要执行下面的命令:

$ docker system prune --all --force --volumns

删除数据卷,而且连确认的过程都没有了!注意,使用 --all 参数后会删除所有未被引用的镜像而不仅仅是 dangling 镜像。

镜像。这表示旧的镜像已经不再被引用了,此时它们就变成了 dangling images。如果使用 -a 参数,你还会发现另外一种类型的 镜像,它们的 repository 和 tag 列都表现为

删除的就是某类资源:docker container prune # 删除所有退出状态的容器docker volume prune # 删除未被使用的数据卷docker image prune # 删除 dangling 或所有未被使用的镜像

自动化的还原出某天的一个生产环境(使用生产环境的备份数据)用于 bug 调查。让我们一起来看看都需要做些什么?包括已经停止的)!

$ docker container -a -q

显示所有的容器,-q 只显示数字形式的容器 ID。

$ docker container stop $(docker container -a -q)

$ docker container stop $(docker container -a -q) && docker system prune --all --force --volumns

删除某一类资源:删除容器:docker container rm $(docker container ls -a -q)删除镜像:docker image rm $(docker image ls -a -q)删除数据卷:docker volume rm $(docker volume ls -q)删除 network:docker network rm $(docker network ls -q)

功能来简化这些命令的执行。

alias docker-clean-unused=-clean-all=

用户的 ~/.bashrc 文件中就可以了!

猜你在找的Docker相关文章