Docker在服务器之间怎样导入导出镜像(服务器之间容器复制)

场景

Docker+Tomcat+geoserver+shp发布地图服务:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119181528

在上面拉取了一个Tomcat的镜像,并在tomcat中添加了一个war包

此war包为geoserver的war包,并且对此geoserver服务进行了一些更改。

总而言之就是容器中的镜像进行过修改和配置,需要将这个容器整个的复制到新的

服务器上一份,就不用再重新配置环境了。

需要把容器打成镜像,然后将镜像从A服务器中导出,然后将导出的文件复制到B服务器中

再在B服务器中导入镜像,然后就可以再B服务器中运行一样的容器了。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

首先需要将A服务器中已经配置好的容器提交为镜像

Docker怎样提交镜像(把容器打成镜像):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119173260

参考如上。

提交命令为:

docker commit -a="badaodechengxvyuan" -m"addgeoserverandriver" 39f5b723d1b8 tomcatwithgeoserverandriver:1.0

提交成功后查看所有镜像

docker images

然后在A服务器上进行镜像导出

docker save -o tomcatwithgeoserverandriver.tar tomcatwithgeoserverandriver:1.0

前面是要导出的文件名 后面是要导出的镜像名带标签

然后就会在当前目录下将镜像导出,然后将此tar文件复制到B服务器上。

当然在B服务器上需要先安装docker

 CentOS7中Docker的安装与配置:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701

然后再B服务器上执行镜像导入

docker load -i /usr/tomcatwithgeoserverandriver.tar

后面跟的是文件在B服务器上的路径,然后就会在B服务器上复制出名字和标签和环境等都一样的镜像

在导入之前为了确认还将B服务器上所有的镜像全部删除。

导入成功之后

然后运行镜像

docker run -d -p 8080:8080 --name tomcatwithgeoserverandriver tomcatwithgeoserverandriver:1.0

然后交互式地进入B服务器中的tomcat容器,可以看到与A服务器中文件一样。

并且运行镜像之后,可以直接访问到和A服务器一样的服务

预览也是没问题的

博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/15073093.html