如何强制Docker手动删除卷和容器中的文件后释放存储空间?
我有几个存储空间的问题。 我删除了几个大文件,如日志文件(find大文件的Unix后)。
问题是手动删除Docker的一些文件(在/ var / lib / docker / …中)。 删除Docker文件后,我可以看到剩下的空间不会改变。 Docker不释放空间。
我重新启动服务的Docker和我的问题persit。
我如何强制Docker释放(devicemapper,volume,images,…)的空间?
Docker清理工作是不存在的,你基本上负责自己做。 有一些方法可以在这个博客文章中指出,但我宁愿使用第三方脚本,例如: docker-clean来清理docker留下的一些混乱。
这取决于你使用的是什么版本的docker,如果你使用的是1.13,那么你可以使用:
docker system df
和
docker system df -v
这些将显示正在使用的磁盘空间。
您可以使用prune
命令进行prune
:
docker system prune -af
^^这修剪一切,是最具破坏性的。 或者你可以使用docker image prune
或docker volume prune
等
使用最新版本的Docker,您可以看到以下空间:
docker system df
并修剪:
docker system prune
上述命令结合了卷,容器,networking和映像的修剪命令:
docker volume prune
docker container prune
docker image prune
docker network prune
所有这些都有一个 – 帮助--help option
。
-O-
在老版本的Docker上,我运行了脚本:
#!/bin/bash # Remove dead containers (and their volumes) docker ps -f status=dead --format '{{ .ID }}' | xargs -r docker rm -v # Remove dangling volumes docker volume ls -qf dangling=true | xargs -r docker volume rm # Remove untagged ("<none>") images docker images --digests --format '{{.Repository}}:{{.Tag}}@{{.Digest}}' | sed -rne 's/([^>]):<none>@/\1@/p' | xargs -r docker rmi # Remove dangling images docker images -qf dangling=true | xargs -r docker rmi # Remove temporary files rm -f /var/lib/docker/tmp/*
- 使用EFS的AWS ECS上的MongoDB Docker容器
- 如何将一个variables传递给Jenkins声明式pipe道中的docker参数
- 如何在OSX上启动docker-machine?
- 将条目添加到容器/ etc / hosts使用pod1.yaml或pod1.json旋转一个容器
- 运行tomcat的Docker容器 – 无法使用主机IP地址访问服务器
- 在Docker上创buildNGINX逆向代理并向其他容器中的网站发送请求时出错
- jenkins在docker集装箱外存放工作区
- 有私人用途的dockerregistry群集解决scheme吗?
- 如何停止/重新启动docker集装箱而不会丢失更改?