【CentOS 7】记一次迁移 Docker 容器存储目录的操作过程

一、场景描述

  在默认情况下, Docker 镜像的默认存储路径是 /var/lib/docker,这相当于直接挂在系统目录下。而一般在搭建系统时,这个区都不会太大。所以如果长期使用 Docker 开发应用,就需要把默认的路径更改到存储空间大的外挂存储磁盘下。

  • 查看 Docker 目录信息

    [root@apps /]# docker info | grep Dir
    Docker Root Dir: /var/lib/docker
    
  • 查看 Docker 所有信息

    [root@apps /]# docker info
    
二、处理方案
方案一,修改镜像和容器的存放路径
  1. 停止 Docker 容器

    systemctl stop docker
    
  2. 创建 Docker 容器预存储的目录

    # 将 Docker 产生的资源保存到此处
    mkdir -p /opt/lib/docker
    
  3. 将现有的项目资源迁移到新的规划目录

    mv /var/lib/docker/* /opt/lib/docker/
    
  4. 修改 Docker 存储目录配置

    # 编辑 Docker 配置文件
    vim /usr/lib/systemd/system/docker.service
    
    # 注释掉原有配置,再新增如下
    #ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (注释原先的)
    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph=/opt/lib/docker(新增的)
    
  5. 重新启动 Docker 容器

    # 重新加载配置
    systemctl daemon-reload
    # 重启 Docker 引擎
    systemctl restart docker
    
  6. 查看变更效果

    [root@apps /]# systemctl daemon-reload
    [root@apps /]# systemctl restart docker
    [root@apps /]# docker info | grep Dir
    Docker Root Dir: /opt/lib/docker
    
方案二,软链接
  1. 停止 Docker 容器

    systemctl stop docker
    
  2. 创建 Docker 容器预存储的目录

    # 将 Docker 产生的资源保存到此处
    mkdir -p /opt/lib/docker
    
  3. 将现有的项目资源迁移到新的规划目录

    mv /var/lib/docker/* /opt/lib/docker/
    
  4. Docker 默认路径创建软链接到预设保存路径

    ln -s /opt/lib/docker /var/lib/docker
    
  5. 重新启动 Docker 容器

    # 重新加载配置
    systemctl daemon-reload
    # 重启 Docker 引擎
    systemctl restart docker
    
  6. 重启 Docker 以后发现存储目录依旧在 /var/lib/docker 但是实际上是存储在预设的数据盘了。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值