由于docker默认存放数据路径为/var/lib/docker,但运行了一段时间后,发现/var/lib/docker下的目录文件过大,导致此分区空间不够用。通过以下方法,解决该问题。
如何避免:
最好是在docker安装完后,第一时间修改docker默认存储位置为其他大目录或者磁盘中。规避迁移数据过程中造成的风险。
方式一:修改默认存储路径
直接移出数据,并修改docker默认存放路径位置
1、移出数据
systemctl stop docker
mkdir -p /data1/docker/ #创建新的docker目录,执行命令df -h,找一个大的磁盘
rsync -avz /var/lib/docker/ /data1/docker/ #迁移到新路径下
2、修改配置默认路径
#添加--graph=/data1/docker/
[root@cdh03 ~]# vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd-current --graph=/data1/docker/
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current
[root@cdh03 ~]# systemctl daemon-reload
[root@cdh03 ~]# systemctl start docker
[root@cdh03 ~]# docker info |grep "Docker Root Dir"
Docker Root Dir: /data1/docker
[root@cdh03 ~]# docker images #确认之前的镜像是否还在
[root@cdh03 ~]# docker ps -a
3、确定容器没问题后删除/var/lib/docker/目录中的文件
方式二:软连接
systemctl stop docker
mkdir -p /data1/docker/ #创建新的docker目录,执行命令df -h,找一个大的磁盘
rsync -avz /var/lib/docker/ /data1/docker/ #迁移到新路径下
mv /var/lib/docker /data/docker_bak
ln -s /data1/docker /var/lib/
systemctl daemon-reload
systemctl start docker