迁移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

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

相关推荐
Free Tester18 分钟前
在Docker Node环境下安装包
docker·容器
Knight_AL18 分钟前
Spring Boot + Docker:实现可挂载可热更新的 config.json
spring boot·docker·json
Wpa.wk24 分钟前
Docker - 搭建镜像仓库- 了解
运维·经验分享·测试工具·docker·容器
pingzhuyan1 小时前
linux运维-KylinV10的aarch64架构-docker微服务运维部署(全篇)
linux·docker·jdk·rocketmq·kylin·aarch64
allen sue1 小时前
Moltbot(Clawdbot)
人工智能·docker
Wzx1980122 小时前
go聊天室接入mysql的项目docker部署流程
mysql·docker·golang
liux35282 小时前
基于kubeadm构建K8S高可用集群:从理论到实践
云原生·容器·kubernetes
岁岁种桃花儿2 小时前
构建SpringBoot项目Docker镜像并发布到k8s集群中进行运行
spring boot·docker·kubernetes
海兰2 小时前
Docker单节点部署Elasticsearch 9.0+(开发环境)
运维·docker·容器
Riu_Peter2 小时前
【记录】Ubuntu 安装 Docker
ubuntu·docker·eureka