问题1:write /var/lib/docker/tmp/GetImageBlob910627836: no space left on device
含义:表示的是在docker 的安装目录已经满了
解决:
F1 :首先查看目录下的剩余空间
df -hl /var/lib/docker
使用命令 docker rmi 镜像ID
停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
docker rmi 镜像ID
F2:扩展磁盘空间
- 首先查看docker位置:
docker info
停止docker服务
systemctl stop docker
查看容量大的位置,然后在上面创建转移目录
df -h
mkdir -p /home/docker
这里以/home/docker为例,我待会就要把/var/lib/docker的docker转移到这里。
迁移/var/lib/docker目录下的文件到目标位置
sudo rsync -avz /var/lib/docker /usr/newdisk/docker
新建/etc/docker/daemon.json文件并编辑
默认是没有这个文件的,直接用vim新建并编辑
sudo vim /etc/docker/daemon.json
这里附带vim的操作方法:
按下i进入insert状态,把下面的列表复制到文件里
{
"graph":"/usr/newdisk/docker"
}
按下Esc退出insert状态,然后按下shift+:
然后按下 wq! 回车,强制保存文件,
PS.如果在insert时遇到什么swap文件已打开,那就sudo rm 文件名 删除这个文件
重新加载docker并重启docker
systemctl daemon-reload && systemctl restart docker
检查docker是否变更为新目录
docker info
删除旧的docker目录
rm -rf /var/lib/docker