前兩寫了兩篇,都是為SpringCloud+Docker部署做准備,在部署的時候,不同服務器,不同的Docker容器之間的通信,還好沒有掉到坑里去,在公司里用了新技術,還是很開心的,小有成就感,之前一直想用上Docker,太忙就忽略了,這次是老大讓我搭建一個預發布環境,一直都是重復性的工作,就很枯燥,心想着用新技術吧,這三篇文章,都是在各種爬坑中過來的
1.目錄結構
跟之前寫的一樣都是Maven聚合工程,這里跟之前不一樣的是,有個子模塊的common,需要在構建的時候,install下,所有在jenkins 的 Pre Steps要配置
2.部署腳本
下面這個,跟之前寫的一樣,是部署在跟docker同一台服務器
下面這個,是部署在另外一台服務器,大致步驟是:
1.在本地打完鏡像
2.然后Push到私服倉庫
3.使用Jenkins的SSh插件,執行遠程腳本
4.在遠程的服務器(IP:10.19.44.21),拉取私服的鏡像
5.在遠程服務器,docker run
圖片上的序號:
這里截的是另外一個項目的圖,項目的目錄結構是跟上面是一樣的
1.給鏡像打Tag
2.登錄鏡像私服
3.推送鏡像到私服
4.這是配置好的SSH插件的遠程服務器的信息
5.刪除已經運行的容器
6.指定目標服務器的IP,這個是為了讓SpringCloud能發現,下面會接着寫
7.指定profile環境
8.運行
3.解釋第六步
如果不指定-e "EUREKA_INSTANCE_IP-ADDRESS=10.19.44.21" \
在Eureka的管理界面,左下角會顯示的docker容器的內網IP,這樣,另外一台Docker容器就會訪問不到,所有要配置-e "EUREKA_INSTANCE_IP-ADDRESS=10.19.44.21" \
,再打開Eureka
這樣不同服務器的docker容器才能訪問
參考