欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-13 08:04:06
...

一、场景描述

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

二、处理方案

方案一,修改镜像和容器的存放路径
  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. 查看变更效果

    [[email protected] /]# systemctl daemon-reload
    [[email protected] /]# systemctl restart docker
    [[email protected] /]# 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 但是实际上是存储在预设的数据盘了。

相关标签: docker