美文网首页
Docker 目录迁移

Docker 目录迁移

作者: 阿尔卡雷特 | 来源:发表于2018-12-06 14:01 被阅读0次

    因公司docker默认会将容器和镜像放在/var/lib/docker目录下,/var基本属性linux的主分区(类似windows的c盘存放了操作系统文件的分区)所以没过多久就占满了。需要转移docker到其他分区

    1. 确认迁移的目标目录空间是否充足
    # 查看分区使用情况
    df -lhT
    
    # 查看docker目录当前大小
    cd /var/lib/docker
    du -h --max-depth=1 ./
    
    占用情况
    1. 备份 fstab文件
    sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
    
    1. 停止docker服务
    service docker stop
    
    1. 用rsync同步/var/lib/docker到新位置
    rsync -aqXS --progress /var/lib/docker/.  /mnt/docker/
    
    1. 将备份保存,并创建一个空目录作为挂载点
    mv /var/lib/docker/ /var/lib/docker_bak
    mkdir /var/lib/docker/
    
    1. 通过挂载mount的bind命令将新位置挂载到老位置
    mount --bind /mnt/docker /var/lib/docker
    mount -a
    ls /var/lib/docker/
    
    1. 创建开机自动挂载
    vim /etc/fstab
    
    # 最后一行添加
    /mnt/docker /var/lib/docker                     none    bind            0 0
    

    8.最后重启服务器确认是否成功迁移

    备注:在使用overlay文件系统的Docker上面,会出现数据快速膨胀的问题。

    解决办法,使用下面的方法复制文件:

        rsync -avPHSX /var/lib/docker /new/partition/
    

    解释:
    -a,档案模式。
    -v,显示详细信息。
    -P,显示进度。
    -H,处理Hardlink为Hardlink,关键!
    -S,稀疏文件优化处理。
    -X,保留所有属性。

    相关文章

      网友评论

          本文标题:Docker 目录迁移

          本文链接:https://www.haomeiwen.com/subject/idmncqtx.html