• Docker安装Apollo


    一、配置Apollo数据库

    直接使用apollo内部提供好的sql文件进行导入即可:

    apollo/apolloportaldb.sql at master · apolloconfig/apollo · GitHub

    apollo/apolloconfigdb.sql at master · apolloconfig/apollo · GitHub

    二、下载Apollo镜像

    1. [root@localhost ~]# docker pull apolloconfig/apollo-portal:latest
    2. [root@localhost ~]# docker pull apolloconfig/apollo-adminservice:latest
    3. [root@localhost ~]# docker pull apolloconfig/apollo-configservice:latest

    三、Apollo架构设计 

    四个核心模块及其主要功能 

    ConfigService

    • 提供配置获取接口
    • 提供配置推送接口
    • 服务于Apollo客户端

    AdminService

    • 提供配置管理接口
    • 提供配置修改发布接口
    • 服务于管理界面Portal

    Client

    • 为应用获取配置,支持实时更新
    • 通过MetaServer获取ConfigService的服务列表
    • 使用客户端软负载SLB方式调用ConfigService

    Portal

    • 配置管理界面
    • 通过MetaServer获取AdminService的服务列表
    • 使用客户端软负载SLB方式调用AdminService

    三个辅助服务发现模块

    Eureka

    • 用于服务发现和注册
    • Config/AdminService注册实例并定期报心跳
    • 和ConfigService住在一起部署

    MetaServer

    • Portal通过域名访问MetaServer获取AdminService的地址列表
    • Client通过域名访问MetaServer获取ConfigService的地址列表
    • 相当于一个Eureka Proxy
    • 逻辑角色,和ConfigService住在一起部署

    NginxLB

    • 和域名系统配合,协助Portal访问MetaServer获取AdminService地址列表
    • 和域名系统配合,协助Client访问MetaServer获取ConfigService地址列表
    • 和域名系统配合,协助用户访问Portal进行配置管理

    四、运行镜像

    1、Apollo Config Service

    1. docker run -d -p 8081:8080 \
    2. -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.79.21:3306/ApolloConfigDB?characterEncoding=utf8" \
    3. -e SPRING_DATASOURCE_USERNAME=root \
    4. -e SPRING_DATASOURCE_PASSWORD=123456 \
    5. -v /tmp/logs:/opt/logs \
    6. --name apollo-configservice apolloconfig/apollo-configservice

    2、Apollo Admin Service

    1. docker run -d -p 8091:8090 \
    2. -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.79.21:3306/ApolloConfigDB?characterEncoding=utf8" \
    3. -e SPRING_DATASOURCE_USERNAME=root \
    4. -e SPRING_DATASOURCE_PASSWORD=123456 \
    5. -v /tmp/logs:/opt/logs \
    6. --name apollo-adminservice apolloconfig/apollo-adminservice

    需要手动修改eureka配置,否则admin service的日志将会出现注册错误。 

     注册完成后,访问注册中心:http://192.168.79.21:8081/

     

    3、Apollo Portal

    1. docker run -d -p 8071:8070 \
    2. -e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.79.21:3306/ApolloPortalDB?characterEncoding=utf8" \
    3. -e SPRING_DATASOURCE_USERNAME=root \
    4. -e SPRING_DATASOURCE_PASSWORD=123456 \
    5. -e APOLLO_PORTAL_ENVS=pro \
    6. -e PRO_META=http://192.168.79.21:8081 \
    7. -v /tmp/logs:/opt/logs \
    8. --name apollo-portal apolloconfig/apollo-portal

    参数说明:

    1. SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
    2. SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
    3. SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码
    4. APOLLO_PORTAL_ENVS(可选): 对应ApolloPortalDB中的apollo.portal.envs配置项,如果没有在数据库中配置的话,可以通过此环境参数配置
    5. DEV_META/PRO_META(可选): 配置对应环境的Meta Service地址,以${ENV}_META命名,需要注意的是如果配置了ApolloPortalDB中的apollo.portal.meta.servers配置,则以apollo.portal.meta.servers中的配置为准

    五、测试

    访问地址: http://192.168.79.21:8071/signn

    用户名/密码:apollo/admin

  • 相关阅读:
    吐血整理,服务端性能测试中间件-项目集成redis实战,一篇打通...
    1843. 可疑银行账户
    图解LeetCode——面试题 01.08. 零矩阵(难度:中等)
    HBase原理深入
    【lombok】equals相等返回false contains包含返回false? lombok注解的一个天坑
    Vue3+TS版本Uniapp:项目前置操作
    Base64与MD5(数据加密)与ValidateCode(验证码)
    LeetCode //C - 236. Lowest Common Ancestor of a Binary Tree
    基于java+SpringBoot+HTML+Mysq+微信小程序+小说阅读网站
    【C++】string类的模拟实现.深浅拷贝与引用计数,写时拷贝的优化
  • 原文地址:https://blog.csdn.net/summer_fish/article/details/126097988