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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐