如何正确清理Docker devicemapper文件夹?

11

我对存储有些问题。文件夹/var/lib/docker/devicemapper/占用了50%的存储空间。

在文件夹/var/lib/docker/devicemapper/mnt中,我有许多空文件夹。

我该如何正确清理dockerdevicemapper并删除所有未使用的映射?

1个回答

10

最新版本的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/*

1
选项-adocker image prune -a中可以帮助进行彻底的清理。但是它必须小心使用。 - Dmitry Ziolkovskiy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接