docker容器迁移教程

这篇具有很好参考价值的文章主要介绍了docker容器迁移教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

被领导要求部署一个和测试环境一样的演示环境,并且数据库也要同步过去,服务器上的各种服务都是docker部署的,由于之前docker玩的比较少,所以还是踩了不少坑的,在此记录一下正确的操作方法。

正文

1.容器镜像导出

  • 我们先通过docker images查看需要导出的镜像

docker容器迁移教程

  • 然后我们使用镜像导出命令
docker save -o /home/备份包名.tar 镜像id或镜像名

-o(即output) 或 > 表示输出到文件
备份镜像可以同时备份多个,空格分隔,这里建议使用镜像名备份,否则还原时会丢失镜像名
  • 例如我需要备份nginx镜像:
docker save -o /home/backup/back.tar nginx

备份完成之后可以在目录下查看到这个备份文件

2.备份文件迁移

  • 迁移文件可以使用u盘传输,当然用u盘转移时间显然很慢,我们何不直接在两台服务器之间进行传输?如果再局域网的情况下传输速度会非常快,这里我们使用scp指令去复制备份文件:
scp [参数] [原路径] [目标路径]

命令参数:
-p 保留原文件的修改时间,访问时间和访问权限
-q 不显示传输进度条
-r 递归复制整个目录。
-v 详细方式显示输出。
-P port 注意是大写的P, port是指定数据传输用到的端口号
  • 在我们需要迁移的目标机器上执行指令
#192.168.1.79是我们备份文件所在的服务器,我想把文件移动到本地home下
scp root@192.168.1.79:/home/back.tar /home/
  • 回车之后会提示是否输入密码,先yes然后输入密码,输入一下root密码即可,如果你是非root用户,可能要注意下文件权限问题

3.镜像备份文件读取

  • 使用docker load载入镜像
 docker load -i /home/back.tar
 #-i(即input)或<表示从文件输入;
  • 等待读条完毕,使用docker images查看是否导入成功,导入成功即可根据镜像创建容器并运行。

4.容器挂载目录的转移和配置

  • 如果在原服务器的容器中配置了挂载目录,可以用第2步的方法,将挂载目录转移至新服务器。
  • 可以使用以下命令查看挂载目录的映射关系
docker inspect 369a1376f78c | grep Mounts -A 50
#369a1376f78c为容器名称或id 该命令标识获取Mounts关键词后50行
  • 我们查看输出的Mounts数组中的挂载信息,我们可以在此查看挂载的目录和对应容器目录

docker容器迁移教程

  • 在新服务器上启动容器时可以根据挂载信息添加-v参数,如果觉得重新写启动命令很麻烦,可以使用runlike把容器启动命令直接复制过去,方法如下

    • 安装pip工具包和runlike
    #安装pip3
    yum install python3
    yum install python3-pip
    #安装runlike
    pip3 install runlike
    
    • 使用该命令即可查看启动命令,非常方便
    runlike -p 容器名
    

参考文章:

docker导入导出镜像、容器,及启动容器失败解决方法

Linux服务器:服务器之间,实现局域网(内网)快速传输文件 - 云服务器网 (yuntue.com)

pip3 install runlike - 知乎 (zhihu.com)

原文地址: docker容器迁移教程 - Aunero’s Blog文章来源地址https://www.toymoban.com/news/detail-460732.html

到了这里,关于docker容器迁移教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包