迁移原因:docker的/var/lib/docker/overlay2的占用空间很大。需要对/var/lib/docker目录进行迁移

迁移步骤

  1. 关闭所有的容器服务
    docker stop $(docker ps -a -q)

  2. 停止docker服务
    systemctl stop docker

  3. 查看磁盘空间
    命令:df -h
    docker中/var/lib/docker目录迁移
    参数说明:

    3.1 FileSystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称
    3.2 Size:文件系统的总大小
    3.3 Used:表示已使用的磁盘空间大小
    3.4 Avail:表示可用的磁盘空间大小
    3.5 Mounted on:表示文件系统挂载点,也就是硬盘挂载的目录位置

注:选择一个较大的空间作为新的地址

  1. 创建docker的新目录
    mkdir /data/docker/lib -p

  2. 迁移
    rsync -avzP /var/lib/docker /data/docker/lib/
    参数说明:
    5.1 -a, 归档模式,表示递归传输并保持文件属性。
    5.2 -v,显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息。
    5.3 -P,显示文件传输的进度信息。(实际上"-P"="--partial --progress",其中的"--progress"才是显示进度信息的)。
    5.4 -z, 传输时进行压缩提高效率。

  3. 指定新的docker目录
    vi /lib/systemd/system/docker.service
    在ExecStart加入:--graph=/data/docker/lib/docker
    docker中/var/lib/docker目录迁移

  4. 重启docker

    systemctl daemon-reload 重新载入配置
    systemctl restart docker 重启docker
    systemctl enable docker 自动启动docker服务
    
  5. 测试
    docker中/var/lib/docker目录迁移

  6. 删除旧的/var/lib/docker目录

    参考文章:
    https://my.oschina.net/qbj/blog/2998164
    http://c.biancheng.net/view/883.html