您的位置:首页 > 房产 > 建筑 > Apollo使用(3):分布式docker部署

Apollo使用(3):分布式docker部署

2024/10/6 20:29:02 来源:https://blog.csdn.net/qq_40298351/article/details/140657974  浏览:    关键词:Apollo使用(3):分布式docker部署

Apollo 1.7.0版本开始会默认上传Docker镜像到Docker Hub,可以按照如下步骤获取

一、获取镜像

1、Apollo Config Service

        获取镜像

docker pull apolloconfig/apollo-configservice:${version}

        我事先下载过该镜像,所以跳过该步骤。

2、Apollo Admin Service

        获取镜像:

docker pull apolloconfig/apollo-adminservice:${version}

3、Apollo Portal

        获取镜像

docker pull apolloconfig/apollo-portal:${version}

二、修改数据库

  • 修改数据库数据: ApolloPortalDB.ServerConfig       organizations  = [{"orgId":"DEV","orgName":"DEV"},{"orgId":"TEST","orgName":"TEST"},{"orgId":"PRO","orgName":"PRO"}]
  •  修改数据库数据:ApolloConfigDB.ServerConfig     eureka.service.url    =   http://192.168.197.128:8080/eureka/ 

三、启动Apollo

        创建apollo-docker-start.sh脚本文件:

# apollo 版本
version=2.2.0
# config service db地址 
db_cs_url=jdbc:mysql://192.168.230.1:3306/ApolloConfigDB?characterEncoding=utf8
db_cs_username=root
db_cs_password=root
# 对应cs的容器外可访问路径
cs_url=http://192.168.197.131:8080
# config service pro环境 db 地址
#db_cs_pro_url=jdbc:mysql://192.168.230.1:3306/ApolloConfigDB?characterEncoding=utf8
# 对应cs pro 的容器外可访问路径
#cs_pro_url=http://192.168.197.131:8081
# web
db_url=jdbc:mysql://192.168.230.1:3306/ApolloPortalDB?characterEncoding=utf8
db_username=root
db_password=root
function start(){
# 配置中心
docker run -p 8080:8080 \-e SPRING_DATASOURCE_URL=${db_cs_url} \-e SPRING_DATASOURCE_USERNAME=${db_cs_username} \-e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \-e EUREKA_INSTANCE_HOME_PAGE_URL=${cs_url} \-d -v /tmp/logs:/data/logs/cs \--name apollo-cs \apolloconfig/apollo-configservice:${version}
# 管理服务
docker run -p 8090:8090 \-e SPRING_DATASOURCE_URL=${db_cs_url} \-e SPRING_DATASOURCE_USERNAME=${db_cs_username} \-e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \-d -v /tmp/logs:/data/logs/cs \--name apollo-as \apolloconfig/apollo-adminservice:${version}
#----------------------生产环境-----------------------------
# 配置中心
#docker run -p 8081:8080 \
#    -e SPRING_DATASOURCE_URL=${db_cs_pro_url} \
#    -e SPRING_DATASOURCE_USERNAME=${db_cs_username} \
#    -e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \
#    -e EUREKA_INSTANCE_HOME_PAGE_URL=${cs_pro_url} \
#    -d -v /tmp/logs:/data/logs/cs \
#    --name apollo-cs1 \
#    apolloconfig/apollo-configservice:${version}
# 管理服务
#docker run -p 8091:8090 \
#    -e SPRING_DATASOURCE_URL=${db_cs_pro_url} \
#    -e SPRING_DATASOURCE_USERNAME=${db_cs_username} \
#    -e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \
#    -d -v /tmp/logs:/data/logs/cs \
#    --name apollo-as1 \
#    apolloconfig/apollo-adminservice:${version}
# WEB
docker run -p 8070:8070 \-e SPRING_DATASOURCE_URL=${db_url} \-e SPRING_DATASOURCE_USERNAME=${db_username} \-e SPRING_DATASOURCE_PASSWORD=${db_password} \-e APOLLO_PORTAL_ENVS=DEV,PRO \-e DEV_META=${cs_url} \-e PRO_META=${cs_url} \-d -v /tmp/logs:/data/logs/portal --name apollo-portal \apolloconfig/apollo-portal:${version}}
start
# 删除容器脚本
# docker ps |grep apollo |awk '{ print $1}' | xargs docker rm -f 

        执行脚本: 

./apollo-docker-start.sh

        查看启动日志:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com