docker空间不足 failed to register layer: devmapper: Thin Pool has 77644 free data blocks wh

docker info 发现总共107G只剩5G可用,docker线程要求最小10G才可以启动,这是错误根本原因。

为什么会这样?

当一个容器的数据空间大于10GB后,那么这个容器将不能写入新的数据文件。如果容器需要很大的数据空间,可以使用数据卷挂在到宿主机或存储上。当容器太多使用数据卷挂载方式后,所有容器使用的数据空间已经大于100GB,这时将不能新建或运行容器。这篇文章给出了解答:https://github.com/docker/docker/tree/master/daemon/graphdriver/devmapper

解决办法:

先尝试一下清除僵尸容器和镜像。

docker rm $(docker ps -q -f status=exited)
docker volume rm $(docker volume ls -qf dangling=true)
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

若还是没有效果,修改docker.service配置文件,可以find搜索一下,我的是在/usr/lib/systemd/system/docker.service,在ExecStart=/usr/bin/dockerd 后,加入如下参数 --storage-opt dm.basesize=10G  --storage-opt dm.loopdatasize=200G  --storage-opt dm.loopmetadatasize=5G  

重启docker生效

systemctl stop docker
systemctl daemon-reload
systemctl start docker

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值