背景:
最近在线上使用的docker主机发现根目录容量快满了,一番查找,发现是docker的data文件过大了。 我们知道docker数据默认是存放在/var/lib/docker下的,我们可以在启动时用-g --graph=""参数,把数据目录更改到其他容量大的地方去。但是对于在使用中的docker来说,直接修改这个目录路径,会导致镜像和容器都丢失了,所以修改参数这个方法适用于初始化docker的时候使用。
对于又想解决根分区容量满,又不想更改数据存储路径的我来说,我不想更改任何docker的参数和数据,所以我在自己的虚机机环境上尝试把这些数据迁移到容量较大的磁盘上去,再用链接的方式把数据链接到原来的位置,保证环境尽可能不变动。
操作:
1:关闭docker容器和docker进程:
# /etc/init.d/docker stop
2:迁移数据:(假设我要迁移到/mnt/docker)
# mv /var/lib/docker /mnt/
3:制作目录链接
# ln -s /mnt/docker /var/lib/docker # cd /var/lib # ll lrwxrwxrwx 1 root root 11 Apr 13 10:52 docker -> /mnt/docker
4:启动docker和容器:
# /etc/init.d/docker start
该实验在我的环境中测试有效。应该没有什么大问题,如果有什么忽略的地方,请大家指正!也希望大家多多支持。