天天看點

五分鐘帶你玩轉apollo(七)docker極簡部署,樓主親測

因為樓主更改了apollo源碼 是以需要重新打包 然後在制作鏡像

一.打包

可以參考

https://blog.csdn.net/qq_20143059/article/details/106997601

二.制作鏡像

1)擷取zip包

分别擷取打包之後zip包,在/apollo-portal/target/,apollo-adminservice/target/,apollo-configservice/target/中

五分鐘帶你玩轉apollo(七)docker極簡部署,樓主親測

2)擷取dockerflie

分别在apollo-portal,apollo-adminservice,apollo-configservice中擷取dockerflie

五分鐘帶你玩轉apollo(七)docker極簡部署,樓主親測

3)将以上兩個檔案分别放于任意檔案夾中并分别執行

docker build -t apollo-portal .
docker build -t apollo-adminservice .
docker build -t apollo-configservice .      
五分鐘帶你玩轉apollo(七)docker極簡部署,樓主親測

三.運作容器

adminconfig
docker run -d -p 8090:8090 --net=host -e SPRING_DATASOURCE_URL="jdbc:postgresql://ip:5432/apolloconfig?characterEncoding=utf8" -e SPRING_DATASOURCE_USERNAME=apolloconfig -e SPRING_DATASOURCE_PASSWORD=123  -d -v /tmp/logs:/opt/logs --name apollo-adminservice apollo-adminservice
 
SPRING_DATASOURCE_URL: 對應環境ApolloConfigDB的位址
SPRING_DATASOURCE_USERNAME: 對應環境ApolloConfigDB的使用者名
SPRING_DATASOURCE_PASSWORD: 對應環境ApolloConfigDB的密碼
--name apollo-adminservice apollo-adminservice:為鏡像同名 下面同理
 
apollo-configservice 
docker run -p 8080:8080 --net=host -e SPRING_DATASOURCE_URL="jdbc:postgresql://ip:5432/apolloconfig?characterEncoding=utf8"  -e SPRING_DATASOURCE_USERNAME=apolloconfig -e SPRING_DATASOURCE_PASSWORD=123  -d -v /tmp/logs:/opt/logs --name apollo-configservice apollo-configservice
 
SPRING_DATASOURCE_URL: 對應環境ApolloConfigDB的位址
SPRING_DATASOURCE_USERNAME: 對應環境ApolloConfigDB的使用者名
SPRING_DATASOURCE_PASSWORD: 對應環境ApolloConfigDB的密碼
 
apollo-portal
docker run -p 8070:8070 --net=host -e SPRING_DATASOURCE_URL="jdbc:postgresql://ip:5432/apolloportal"  -e SPRING_DATASOURCE_USERNAME=apolloportal -e SPRING_DATASOURCE_PASSWORD=123 -e APOLLO_PORTAL_ENVS=dev  -e DEV_META=http://localhost:8080 -d -v /tmp/logs:/opt/logs --name apollo-portal apollo-portal
 
SPRING_DATASOURCE_URL: 對應環境ApolloPortalDB的位址
SPRING_DATASOURCE_USERNAME: 對應環境ApolloPortalDB的使用者名
SPRING_DATASOURCE_PASSWORD: 對應環境ApolloPortalDB的密碼
APOLLO_PORTAL_ENVS(可選): 對應ApolloPortalDB中的apollo.portal.envs配置項,如果沒有在資料庫中配置的話,可以通過此環境參數配置
DEV_META/PRO_META(可選): 配置對應環境的Meta Service位址,以${ENV}_META命名,需要注意的是如果配置了ApolloPortalDB中的apollo.portal.meta.servers配置,則以apollo.portal.meta.servers中的配置為準      

如非定制 可以參考官方文檔

https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97#2-apolloportalmetaservers---%E5%90%84%E7%8E%AF%E5%A2%83meta-service%E5%88%97%E8%A1%A8