devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 163840 free data blocks
问题描述:
最近遇到docker操作失败,遇到这个错误log:devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 163840 free data blocks
解决方法:
运行下面三个命令:(亲测有效,具体原因不太清楚,各有说法,这里记录一下解决办法)
// 注意,以下三个命令执行时可能出错是正常的。
清理exited进程:
docker rm $(docker ps -q -f status=exited)
清理dangling volumes:
docker volume rm $(docker volume ls -qf dangling=true)
清理dangling image:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
如果以上命令还未解决,则需要扩容docker的池空间大小,见如下链接
https://blog.csdn.net/czh8706/article/details/106012426
docker volume 是一个用于管理 Docker 数据卷(Volume)的命令行工具。Docker 数据卷是用于在容器和主机之间持久存储数据的一种机制。 以下是一些常用的 docker volume 命令: docker volume create <volume_name>:创建一个新的数据卷。 docker volume ls:列出所有的数据卷。 docker volume inspect <volume_name>:查看指定数据卷的详细信息。 docker volume rm <volume_name>:删除指定的数据卷。 docker volume prune:清理无用的数据卷,即没有与容器关联的数据卷。 docker volume cp <source_path> <container_name>:<destination_path>:将主机上的文件或目录复制到运行中的容器中的指定路径。 docker volume rm $(docker volume ls -qf dangling=true):删除所有悬空的数据卷。 通过使用 docker volume 命令,你可以方便地管理 Docker 的数据卷,包括创建、查看、删除和复制等操作。数据卷使得容器可以持久化存储数据,并且可以在不同的容器之间共享数据,提供了更加灵活和可靠的容器化应用部署方式。
这个命令用于清理 Docker 中的悬空数据卷(dangling volumes)。 解释一下该命令的各个部分: docker volume ls:列出所有的数据卷。 -q:只显示数据卷的名称。 -f dangling=true:使用过滤器,只显示悬空数据卷。 $(...):将命令的输出作为参数传递给另一个命令。 综合起来,docker volume ls -qf dangling=true 这部分命令会列出所有悬空数据卷的名称。 然后,将这些悬空数据卷的名称作为参数传递给 docker volume rm 命令,用于删除这些悬空数据卷。 因此,docker volume rm $(docker volume ls -qf dangling=true) 这个命令会删除所有悬空数据卷。 注意:悬空数据卷是指没有与任何容器关联的数据卷。清理悬空数据卷可以释放磁盘空间并减少数据卷列表中的混乱。在删除数据卷之前,请确保它们不再需要。
时来天地皆同力,运去英雄不自由