Skip to content

配置文件位置(如果没有可新建):/etc/docker/daemon.json

镜像代理

json
{
    "registry-mirrors": [
        "http://YOUR_MIRROR_LINK"
    ]
}

镜像站:

迁移存储位置

json
{
    "data-root": "[要迁移到的位置]"
}

操作

使用 df -h 查看当前机器的分区状况,然后查看默认的容器数据保存位置(默认安装位置(系统盘) /var/lib/docker

sh
# 查看默认的容器数据保存位置
docker info | grep "Docker Root Dir"

使用 du 命令来查看通过 docker info 了解到的 docker 默认数据目录有多大

sh
# du -hs /var/lib/docker
du -hs [保存位置]

确定镜像都已备份保存,容器实例中没有存储特别的东西。可以先执行 docker system prune 给 docker 数据目录先减肥,再迁移

要进行数据迁移前,先暂停 docker 服务

sh
service docker stop

创建迁移目录(用来放新数据的目录)

sh
mkdir -p [迁移目录]

然后使用 rsync 对数据进行迁移

sh
rsync -avz [保存位置]/ [迁移目录]/

执行后日志输出,将会看到类似下面的输出:

text
docker/tmp/
docker/trust/
docker/volumes/
docker/volumes/metadata.db

sent 1,514,095,568 bytes  received 3,096,373 bytes  4,998,984.98 bytes/sec
total size is 3,955,563,885  speedup is 2.61

然后数据完成迁移,完整性由 rsync 保证,最后修改 docker 配置(data-root),让 docker 从新的位置进行数据加载和存储

验证

将容器服务启动起来

text
service docker start

使用命令(docker info | grep "Docker Root Dir")再次验证下 docker 数据存储设置,查看是否已经生效

text
Docker Root Dir: [迁移目录]

如果显示的是 [迁移目录],那么说明配置已经生效了

对于之前的 [之前保存位置] 目录可以使用 rm -rf [之前保存位置] 将它清理掉,因为已经无用