问题分析: 为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 /mnt/USR_DATA/docker-root
(这里我将16T的硬盘加载进来到/mnt/USR_DATA/docker-root作为地址,如何加载在文末),保证此路径下有足够空间,可以用df -h /mnt/USR_DATA/docker-root
看一下路径下是否有空间)
step 4: 新建 docker 配置文件 sudo touch /etc/docker/daemon.json
step 5: vim写入文件 vim /etc/docker/daemon.json
step 6: 之前引用的while10博主的 docker 版本为 v17.03.2,他在文件中加入json语句 {"graph": "/root/docker"}
问题得到了解决。
我尝试后发现不行:
而我的docker版本是Docker version 20.10.17,需要将上面的json语句替换为 {"data-root": "/root/docker"}
,得到了解决。(大家看自己版本吧,最不济可以都试试)
step 7: 重启docker 服务 sudo systemctl start docker
,并 查看 docker info
的docker root dir 是否变为指定的root路径 /mnt/USR_DATA/docker-root
step 8: 然后docker pull
,成功
我将16T的硬盘加载进来到/mnt/USR_DATA/docker-root
1、fidsk -l
,查看硬盘位置及格式
2、在/mnt下建立文件夹进行挂载我的16T硬盘,嘿嘿
sudo mkdir /mnt/USR_DATA/docker-root
3、mount /dev/sdb /mnt/USR_DATA/docker-root
,挂载并映射到指定文件夹
4、chmod 777 /mnt/USR_DATA/docker-root
,更改下权限,如果其他用户也能用
5、chgrp docker /mnt/USR_DATA/docker-root
,把文件归属到了docker组
————————————————
整理引用了while10贴子,也做个记录!方便你我他她!