美文网首页技术分享
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