迁移Docker镜像存放目录

Docker镜像的默认目录为 /var/lib/docker 下的子目录 image,假设换到新的目录 /data1/docker,可按如下步骤操作:

  • 1、停掉docker守护进程:
shell 复制代码
systemctl stop docker
  • 2、创建新的镜像存放目录:
shell 复制代码
mkdir -p /data1/docker
  • 3、创建或编辑Docker的配置文件/etc/docker/daemon.json:
shell 复制代码
# cat /etc/docker/daemon.json
{
    "data-root": "/data1/docker",
    "registry-mirrors": [
        "http://docker.my.com:8080",
        "http://hub.my.com"
    ],
    "insecure-registries" : [ 
        "mirrors.my.com",
        "docker.my.com:8080",
        "hub.my.com"
    ]
}
  • 4、将/var/lib/docker目录下的镜像复制到新目录:
shell 复制代码
rsync -aP /var/lib/docker/ /data1/docker/

如果已经存了很多镜像,这一步可能要执行数小时才能完成。

  • 4、重新启动Docker守护进程:
shell 复制代码
systemctl start docker

完成后可执行 docker info 查看Docker的配置:

shell 复制代码
# docker info | grep "Docker Root Dir"
Docker Root Dir: /data1/docker

可以将原来的删除释放空间:

shell 复制代码
# rm -fr /var/lib/docker

如果已经存了很多镜像,这一步可能要执行数分钟才能完成。

相关推荐
xuhe29 分钟前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
星火s漫天1 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
MonkeyKing_sunyuhua3 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
醇氧3 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
技术路上的探险家4 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
70asunflower7 小时前
用Docker创建不同的容器类型
运维·docker·容器
小Pawn爷8 小时前
3.Dockerfile
docker
CodeGolang8 小时前
Docker容器化部署Zabbix监控系统完整指南
docker·容器·zabbix
忆~遂愿9 小时前
Runtime 上下文管理:计算实例的生命周期、延迟最小化与上下文切换优化
java·大数据·开发语言·人工智能·docker
lpruoyu19 小时前
【Docker进阶-03】存储原理
docker·容器