美文网首页
docker 容器软连接迁移

docker 容器软连接迁移

作者: 那些真真实实 | 来源:发表于2020-05-23 10:31 被阅读0次

    原容器存在以下问题

    • 容器挂载在根节点,根节点容量不够;
    • 容器没有绑定宿主机目录;

    解决方式

    • 使用ln -s 软连接达到对数据迁移
    • 使用镜像方式,对目录重新绑定(绑定前需要把前容器数据导出到绑定目录下)

    操作

    • 首先对数据进行安全备份,确保失败后能正常使用!
    • 软链接
    • 提交镜像
    • 生成新容器,要通过添加-v或者-mount来绑定当目标目录

    软链接

    // 停止服务
    service docker stop 
    // 复制数据到新的存放路径: 
    cp -r /var/lib/docker/* /home/docker
    // 备份 
    mv /var/lib/docker  /home/dockerback
    // 创建软连接 
    ln -s /home/docker /var/lib/docker
    // 启动服务
    service docker start
    

    确认容器完整后可以删除备份

    提交新的镜像

    • 查看原容器id: docker ps -a
    • 提交为镜像:docker commit 5a11422adeead imageName

    生产新容器,要通过添加-v或者-mount来绑定当目标目录

    • 导出原容器数据到要绑定的目录下
    • 创建容器:
    # pro
    docker run --name web1-test-image-now-docker-1-2 \
    --hostname web1 \
    --restart=on-failure:10 \
    -tid \
    -p 18091:8097 \
    -v /etc/timezone:/etc/timezone \
    -v /etc/localtime:/etc/localtime \
    -v /opt/web1/webapps.jar:/opt/webapps.jar \
    --mount type=bind,src=/home/web1/logs/,dst=/opt/logs \
    --mount type=bind,src=/home/web1/res/,dst=res/ \
    --mount type=bind,src=/home/web1/,dst=/web1/ \
    web1-image-2020-04-08 \
    java -jar  -Dspring.profiles.active=pro /opt/webapps.jar --spring.profiles.active=pro /
    // 启动
    docker start web1-test-image-now-docker-1-2
    

    异常

    迁移后无法启动容器,查看日志发现如下异常需要对迁移后的docker文件重新设置权限

    docker-entrypoint.sh: line 46: cannot create temp file for here-document: Permission denied

    // 对迁移的docker 文件添加权限
    chmod -R 1777
    

    相关文章

      网友评论

          本文标题:docker 容器软连接迁移

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