Docker问题:Docker默认路径存储空间不足,迁移Docker默认存储目录

问题
在docker使用用过程中出现,出现如下错误提示:
ERROR: Service ‘XXX’ failed to build: write /var/lib/docker/tmp/GetImageBlob239544438: no space left on device
原因
错误提示已经很明显了,就是现在docker存储路径所在分区存储空间不足,一般都是默认路径/var/lib/dokcer,当然,这个原因引起的问题可能会有很多种,之前也也做到过,所以当docker忽然出现问题的时候,记得df -h看一下空闲的空间大小。
解决方案
此方案针对的系统环境和版本分别是:Contos 7和Dokcer 17.03.2-ce,其他环境下并不一定有效。

关掉所有正在运行的容器
docker stop $(docker ps -q -f status=running)

关闭docker服务
systemctl stop docker

将Docker现目录挪到一个新目录下,这两个目录依照具体情况而定,我的分别是/var/lib/docker和/home/docker
mv /var/lib/docker /home/docker

将原来的数据备份一份,备份大法好,万一不行还不至于损坏数据
tar zcf docker_file_bak.tar.gz /home/docker

修改服务启动命令,服务的service文件为/lib/systemd/system/docker.service,将里面的内容ExecStart=/usr/bin/dockerd修改为如下:
ExecStart=/usr/bin/dockerd -g 新目录

重新加载修改后的service文件
systemctl daemon-reload

启动Docker服务
systemctl start docker

验证修改成功
docker info | grep “Docker Root Dir”
可以看到结果已经是新的目录

再次说明,该方案只在前面提到的环境下测试过,并不是所有的环境都试用,因为之前在ubuntu 14.04和ubuntu 16.04上尝试使用该方法都不能生效,后续再进行说明。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理