问题描述: 在运行docker load
加载镜像时报错 dockerError processing tar file(exit status 1): no space left on device
问题分析: 造成以上报错的原因是因为docker加载镜像的空间不足了
解决办法:
-
第一个解决办法
-
查询到docker默认存放镜像地址为
/var/lib/docker
,扩展此地址下的空间就可以解决这个问题,但是博主并没使用这个方法。
第二个解决办法
-
修改 docker root path
step 1:sudo docker info
明确 Docker Root Dir: 为/var/lib/docker
step 2: 关闭 docker 服务sudo systemctl stop docker
step 3: 新建docker root 路径sudo mkdir /root/docker
( 一定保证此路径下有空间,可以用df -h /root看一下root路径下是否有空间,如果没有空间,找一个有空间的地方新建一个文件,并将下面shell命令中所有的/root/docker 改为新建的文件路径,很多修改不成功的都是因为此原因,因为你新建的路径下还是没有空间,肯定成功不了!!!!)
step 4: 新建 docker 配置文件sudo touch /etc/docker/daemon.json
step 5: vim写入文件vim /etc/docker/daemon.json
step 6: 博主的 docker 版本为 v17.03.2,在文件中加入json语句{"graph": "/root/docker"}
问题得到了解决。网上解决办法还有当版本太低的时候,需要将上面的json语句替换为{"data-root": "/root/docker"}
step 7: 重启docker 服务sudo systemctl start docker
,并 查看docker info
的docker root dir 是否变为指定的root路径/root/docker