场景
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服务器一样的服务
预览也是没问题的