打镜像的时候出现如下问题:
devmapper: Thin Pool has 161749 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior
原因:
device-mapper在删除镜像时没有回收,这是一个内核bug。
解决办法:
打Linux的补丁,使得在内核层面解决问题。如果不想打补丁,或者不知道怎么打补丁,也不想去倒腾了,那么可以使用下面的手工临时释放空间的办法。
执行如下三个命令(注意:执行的时候可能会出错)
1、清理exited进程:
docker rm $(docker ps -q -f status=exited)
2、清理dangling volumes:
docker volume rm $(docker volume ls -qf dangling=true)
3、清理dangling image:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
# 清理dangling volumes:
docker volume rm $(docker volume ls -