docker容器迁移

容器迁移

  1. docker inspect <容器名/id> --format='{{json .Mounts}}'

  2. 查看容器挂载在宿主机上的目录及映射到容器内部的目录。

  3. scp -r <本机目录> <目标机角色>@<目标机ip>:<目标机目录>
    -r代表是个目录,会递归地发送目录里的内容
    例如:scp -r /usr/local/docker/minio root@<ip地址>:/usr/local/docker

问题:输入密码后显示报错Permission denied, please try again.
是因为目标主机为Ubuntu系统,不支持以root角色访问,按照腾讯云文档修改配置文件后解决。

  1. docker export -o <地址前缀,不填为当前文件夹><自定义名字>.tar <容器名或id>
    导出正在运行的容器为tar文件,发送到目标机。

  2. 目标机安装docker,参考这个地址如何在 Ubuntu 上安装 Docker | Linux 中国 - 知乎 (zhihu.com)
    下载速度慢或者下载失败可以尝试更换apt-get的镜像源。

  3. 目标机执行docker import <自定义名字>.tar <自定义镜像名>:<自定义镜像tag>
    可以不加tag,直接<自定义镜像名>即可。
    这样做把导出的tar文件引入为目标机docker环境的images镜像。

  4. 目标机执行docker run指令,需要跟正常执行run指令一样添加相关配置,包括容器的端口映射、账号、密码、是否自动启动、挂载目录等,这些配置因为安全考虑不会被export导出。

关键:运行导出tar文件引入的镜像时,需要在docker run指令最后加command。command在原机使用docker ps -a --no-trunc查看。

示例红圈部分为command,直接把双引号里内容加在docker run最后即可。不然会报错docker: Error response from daemon: no command specified

  1. 迁移完成,可以正常使用容器。
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值