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

How to clean docker devicemapper folder properly ?

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

文件夹/var/lib/docker/devicemapper/mnt里面有很多空文件夹。

如何正确清理 docker devicemapper 并删除所有未使用的映射?

在 Docker 的最新版本中,您可以看到 space 用于:

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>@/@/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/*