docker / HKC · 2024年 4月 11日 0

Docker存储目录迁移的三种方式

Docker存储目录迁移

背景:

新买了一个云服务器,发现系统盘太小了,安装一个VDSM差点给系统盘干爆了,所以想来想去要给它们搬个家了

网上搜索了三种方式

docker info :查看docker的存储等相关信息

方式一 (推荐第一种)

1、停止docker 服务

service docker stop

2、备份数据到新的存放路径(全新安装的docker可以忽略这一步)

cp -r /var/lib/docker/* /data/docker

3、重命名现有docker 文件夹名称(全新安装的docker可以忽略这一步)

mv /var/lib/docker  /var/lib/dockerbak

4、创建软连接

ln -s /data/docker /var/lib/

5、启动docker

service docker start

如果docker完整,并可用,可删除原来的备份文件

启动Docker时存储目录依旧是/var/lib/docker,实际上数据是存储在数据盘的,可以在数据盘上看到容量变化。

方式二

关闭docker

在 Ubuntu 中的位置是:

/etc/default/docker

在 CentOS 中的位置是:

/etc/sysconfig/docker

在OPTIONS加上下面那段代码: –graph=/data/docker 新的存储目录

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --graph=/data/docker --insecure-registry=0.0.0.0/0'

重启docker后,docker info 就可以看到目录换了

方法三

要求 Docker 版本1.12 及以上

已有镜像与数据需要迁移的把/var/lib/docker/目录下的所有文件 cp -R 到新的目标路径下即可(全新安装的docker可以忽略这一步):

cp -R /var/lib/docker/* /data/docker/

修改或新建 daemon.json 文件。修改后会立即生效,不需重启 Docker 服务

# 修改配置文件
$ vi /etc/docker/daemon.json
{
    "graph": "/data/docker"
}
赞赏

微信赞赏支付宝赞赏