我的存储空间问题很少.我删除了一些大文件,如日志文件(找到大文件的unix后).
问题是手动删除一些Docker文件(在/ var/lib/docker/...中).删除Docker文件后,我可以看到剩下的空间不会改变.Docker不会释放空间.
我重新启动服务Docker,问题仍然存在.
如何强制Docker从(devicemapper,volume,images,...)释放空间?
Ric*_*nco 13
使用最新版本的Docker,您可以看到用于的空间:
docker system df
并修剪它:
docker system prune
上面的命令结合了对卷,容器,网络和映像存在的prune命令:
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/*
Run Code Online (Sandbox Code Playgroud)
这取决于您使用的 docker 版本,如果您使用的是 >1.13,那么您可以使用:
docker system df
Run Code Online (Sandbox Code Playgroud)
和
docker system df -v
Run Code Online (Sandbox Code Playgroud)
^^这些将显示正在使用磁盘空间的位置。
您可以使用prune命令进行清理:
docker system prune -af
Run Code Online (Sandbox Code Playgroud)
^^ 这会修剪一切并且是最具破坏性的。或者您可以使用docker image prune或docker volume prune等。
Docker 清理工作几乎不存在,基本上是你自己负责完成的。正如这篇博文中指出的那样,有一些方法可以做到这一点,但我宁愿使用第三方脚本,例如:docker-clean来清理 docker 留下的一些混乱。
| 归档时间: |
|
| 查看次数: |
6724 次 |
| 最近记录: |