場景
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服務器一樣的服務

預覽也是沒問題的


