场景:
Linux的/var/lib/docker 占用9个G,当初创建虚拟机的时候给var只分配了10G容量后续空间不足
有三种解决方案
1.给虚拟机磁盘空间扩容并对var目录重新挂载(试过一次虚拟机崩了然后重装虚拟机)
2.给docker目录创建软连接到更大容量的目录
3.迁移docker目录文件至一个新目录
本文讲述第三种方式,对docker容器迁移扩容
具体描述:
虚拟机/home文件夹30G, /var文件夹10G, docker只有一个6.85G的oracle镜像和700m的容器,选择将/var/lib/docker 迁移至 /home/docker/lib 总耗时不到20分钟解决方案:
提示:
#1.停止docker服务。
systemctl stop docker
#2.查看磁盘容量大的空间,且在上面创建新的docker目录。
df -h
mkdir -p /home/docker/lib
#3.迁移/var/lib/docker目录下的文件到新创建的目录/home/docker/lib
rsync -avz /var/lib/docker /home/docker/lib/
#4.编辑 /etc/docker/daemon.json 添加如下参数(注意别掉了json格式的逗号会导致后续重启docker容器报错)
{
"graph": "/home/docker/lib/docker"
}
#5.重新加载docker,并重启docker服务。
systemctl daemon-reload && systemctl restart docker
#6.检查docker是否变更为新目录/home/docker/lib/docker
[root@localhost ~]# docker info
...
Docker Root Dir: /home/docker/lib/docker
...
#8.删掉docker旧目录
rm -rf /var/lib/docker