美文网首页技术分享
Apollo配置中心-1.7.0通过Docker Hub部署

Apollo配置中心-1.7.0通过Docker Hub部署

作者: kingbo1587 | 来源:发表于2020-08-07 18:15 被阅读0次

部署说明

采用最新apollo-1.7.0版本,可以通过Docker Hub快速部署

参考文档:apollo/wiki/分布式部署指南#23-docker部署

部署依赖

依赖 说明
MySQL 版本要求:5.6.5+
Docker 下载较慢可修改Docker Hub源,参考Docker Hub 镜像加速器

端口分配

服务 端口
Apollo Config Service(配置中心) 8080
Apollo Admin Service(后台服务) 8090
Apollo Portal(前台服务) 8070

部署步骤

创建数据库

数据库 sql脚本
ApolloPortalDB apolloportaldb.sql
ApolloConfigDB apolloconfigdb.sql

修改ApolloConfigDB数据库ServerConfig表的eureka.service.url=http://host.docker.internal:8080/eureka/

ps: host.docker.internal是docker内部域名。如果Apollo Config Service 和Apollo Admin Service不在同一个宿主机,需要调整为Apollo Config Service的主机url

Apollo Config Service(配置中心)

1.获取镜像

docker pull apolloconfig/apollo-configservice:1.7.0

2.运行镜像

docker run -p 8080:8080 --network={docker_network} \ 
-e SPRING_DATASOURCE_URL="jdbc:mysql://{db_url}:{db_port}/ApolloConfigDB?characterEncoding=utf8&serverTimezone=UTC" \
-e SPRING_DATASOURCE_USERNAME={db_username} \
-e SPRING_DATASOURCE_PASSWORD={db_password} \
-e EUREKA_INSTANCE_HOME_PAGE_URL=http://{eureka_home_url}:8080 \
-d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice:1.7.0

参数说明:

  • SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
  • SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
  • SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码
  • EUREKA_INSTANCE_HOME_PAGE_URL: 配置中心主页url

需要修改参数:

  • {docker_network}: 自定义网卡,用于config、admin、portal三者通讯

  • {db_url}: 数据库地址

  • {db_port}: 数据库端口

  • {db_username}: 数据库用户名

  • {db_password}: 数据库密码

  • {eureka_home_url}: 配置中心主页url,需要在内网能访问到

Apollo Admin Service(后台服务)

1.获取镜像

docker pull apolloconfig/apollo-adminservice:1.7.0

2.运行镜像

docker run -p 8090:8090 --network={docker_network} \
-e SPRING_DATASOURCE_URL="jdbc:mysql://{db_url}:{db_port}/ApolloConfigDB?characterEncoding=utf8&serverTimezone=UTC" \
-e SPRING_DATASOURCE_USERNAME={db_username} \
-e SPRING_DATASOURCE_PASSWORD={db_password} \
-d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice:1.7.0

参数说明:

  • SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
  • SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
  • SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码

需要修改参数:

  • {docker_network}: 自定义网卡,用于config、admin、portal三者通讯

  • {db_url}: 数据库地址

  • {db_port}: 数据库端口

  • {db_username}: 数据库用户名

  • {db_password}: 数据库密码

Apollo Portal(前台服务)

1.获取镜像

docker pull apolloconfig/apollo-portal:1.7.0

2.运行镜像

docker run -p 8070:8070 --network={docker_network} \
-e SPRING_DATASOURCE_URL="jdbc:mysql://{db_url}:{db_port}/ApolloPortalDB?characterEncoding=utf8&serverTimezone=UTC" \
-e SPRING_DATASOURCE_USERNAME={db_username} \
-e SPRING_DATASOURCE_PASSWORD={db_password} \
-e APOLLO_PORTAL_ENVS=dev \
-e DEV_META=http://host.docker.internal:8080 \
-d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal:1.7.0

参数说明:

  • 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中的配置为准

需要修改参数:

  • {docker_network}: 自定义网卡,用于config、admin、portal三者通讯
  • {db_url}: 数据库地址
  • {db_port}: 数据库端口
  • {db_username}: 数据库用户名
  • {db_password}: 数据库密码

需要将Apollo Portal的127.0.0.1:8070暴露到内网域名便于访问

相关文章

网友评论

    本文标题:Apollo配置中心-1.7.0通过Docker Hub部署

    本文链接:https://www.haomeiwen.com/subject/slkqdktx.html