Docker数据目录迁移方法详解
作者:北漂燕郊杨哥
Docker数据目录迁移
前言
服务器上安装的docker服务,数据默认存储在/var/lib/docker目录,由于该目录在系统盘,随时间时间的推移,docker占用的空间越来越大,最把系统盘挤用的只剩下的1G,很容易磁盘100%,想着把docker占用的目录迁移到非系统盘目录,想着就立即动手
一、停掉Docker服务?
systemctl stop docker
二、迁移docker数据到数据盘目
rsync -r -avz /var/lib/docker /data/docker/lib/
三、备份原数据目录
mv /var/lib/docker /var/lib/docker.old
四、添加软链接
ln -s /data/docker/lib/docker /var/lib/
五、重启docker服务
systemctl start docker
启动 Docker 之后,Docker 写入的路径依然是 /var/lib/docker ,但是因为软链接的设置,实际已经是往新的目录写入了。至此,完成了 Docker数据目录的迁移。
六、确认服务没有问题后,删除备份的目录
rm -rf /var/lib/docker.old
总结
Docker数据目录迁移成功后再也不用担心服务器系统盘目录被占满的情况的
Docker存储目录迁移的三种方式
Docker存储目录迁移
背景:
随着docker的使用时间越来越长,导致镜像和容器越来越多,占满了系统盘空间,这时,我们需要给它们搬个家了
下面咱们提供三种方式
docker info :查看docker的存储等相关信息
方式一 (推荐第一种)
1、停止docker 服务
service docker stop
2、备份数据到新的存放路径
cp -r /var/lib/docker/* /mnt/docker
3、备份 /var/lib/docker 路径
mv /var/lib/docker /var/lib/dockerbak}
4、创建软连接
ln -s /mnt/docker /var/lib/docker
5、启动docker
service docker start
如果docker完整,并可用,可删除原来的备份文件
此方法,启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。
方式二
关闭docker
在 Ubuntu 中的位置是:
/etc/default/docker
在 CentOS 中的位置是:
/etc/sysconfig/docker
在OPTIONS加上下面那段代码: --graph=/local/docker 新的存储目录
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --graph=/local/docker --insecure-registry=0.0.0.0/0'
重启docker后,docker info 就可以看到目录换了
方法三
如果 Docker 的版本是 1.12 或以上的,可以修改或新建 daemon.json 文件。修改后会立即生效,不需重启 Docker 服务
# 修改配置文件 $ vim /etc/docker/daemon.json { "graph": "/new-path/docker" }
注意:如果之前有镜像和对应的数据,执行完这一步,默认存储路径是改掉了,但是会导致之前的镜像找不到,可以把/var/lib/docker/目录下的所有文件 cp -R 到挂载有数据分区的目录下 即:
cp -R /var/lib/docker/* /data/tootls/docker/
到此这篇关于Docker数据目录迁移方法的文章就介绍到这了,更多相关docker数据目录迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!