如何正确清理 docker devicemapper 文件夹?
Posted
技术标签:
【中文标题】如何正确清理 docker devicemapper 文件夹?【英文标题】:How to clean docker devicemapper folder properly ? 【发布时间】:2017-10-29 20:41:45 【问题描述】:我有一些关于存储的问题。 /var/lib/docker/devicemapper/ 文件夹占用了我 50% 的存储空间。
在文件夹/var/lib/docker/devicemapper/mnt中,我有很多空文件夹。
如何正确清理 docker devicemapper 并删除所有未使用的映射?
【问题讨论】:
【参考方案1】:使用最新版本的 Docker,您可以看到使用的空间:
docker system df
并用以下方法修剪它:
docker system prune
上述命令结合了用于卷、容器、映像和网络的 prune 命令:
docker volume prune
docker container prune
docker image prune
docker network prune
每个命令都有一个--help
选项记录一个-f
(--force
) 选项以避免向您提问。必须小心使用。
-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/*
【讨论】:
选项-a
可以帮助docker image prune -a
进行彻底清理。也必须小心使用。以上是关于如何正确清理 docker devicemapper 文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 mac 上将 docker 存储驱动程序更改为 devicemapper
docker aufs 到 devicemapper docker 容器和图像迁移