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

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

相关推荐
胡八一11 小时前
Kubernetes 节点磁盘空间空了怎么办?解决 containerd overlay 100%问题
云原生·容器·kubernetes
云计算运维丁丁11 小时前
k8s 1.30.6版本部署(使用canal插件)
云原生·容器·kubernetes
oceanweave12 小时前
【k8s学习之CSI】理解 LVM 存储概念和相关操作
学习·容器·kubernetes
专注VB编程开发20年13 小时前
VB.NET Asp.Net Core模板WebAPI应用-宝塔面板Linux系统通过Docker部署
linux·docker·.net
backRoads13 小时前
docker部署rabbitmq
docker·容器·rabbitmq
穷儒公羊16 小时前
第一部分——Docker篇 第六章 容器监控
运维·后端·学习·docker·云原生·容器
CAE虚拟与现实16 小时前
记录一下学习docker的命令(不断补充中)
学习·docker·容器·容器化·docker部署·docker命令
全镇人的希望19 小时前
[特殊字符] 企业级Docker私有仓库实战:3步搭建Harbor安全仓库,镜像管理从此高效无忧
docker·运维开发·私有化
穷儒公羊20 小时前
第一部分——Docker篇 第三章 构建自定义镜像
java·运维·后端·学习·docker·云原生·容器