docker安装多环境Apollo

Apollo介绍
【docker安装多环境Apollo】Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
使用docker安装Apollo
因为工作需要,需要使用Apollo作为系统的配置中心。安装Apollo有很多种方式,可以按部就班的根据官方文档一步步的安装。但是大多数的程序员对Apollo是不太熟悉的,所以docker就是一种比较简单的安装方式。如果对docker不了解可以先适当的熟悉一下docker。
本文以Ubuntu系统为例,安装一个拥有两个环境(DEV,PRO)的Apollo配置系统。希望对大家有所帮助。
环境准备
前置安装 既然是用docker安装Apollo,那肯定需要先安装docker环境。以Ubuntu系统为例,我们可以利用Apt命令来安装docker环境。
sudo apt install docker
显示安装成功之后可以使用docker命令来测试一下是否安装成功。
前置环境准备 Mysql,Apollo的数据是存储在Mysql中的,所以我们需要一个MySql环境,可以使用docker安装,也可以使用已经存在的MySql实例。在此就不过多描述做MySql安装的过程了。
创建数据库 https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql
注意:apolloportaldb.sql为portal数据库脚本,apolloconfigdb.sql为环境配置数据库脚本。
portal数据库只需要一个,但是如果需要安装多环境的Apollo的话,需要准备多个config数据库。可以在apolloconfigdb.sql中稍作修改。

DEV环境数据库名:ApolloConfigDBDev PRO环境数据库名:ApolloConfigDBPro

修改数据库表 在创建为三个数据库之后,我们需要改动一下数据库中的两个表。
  1. ApolloPortalDB中的ServerConfig表中,有一行apollo.portal.envs。默认是dev,我们需要把他改成两个环境并且用逗号隔开:dev,pro。
  2. ApolloPortalDB中的ServerConfig表中,有一行apollo.portal.meta.servers。默认为空,我们需要把他改成{http://{IP}:8080}。注意这边的IP可以是外网地址。
    docker安装多环境Apollo
    文章图片
  3. ApolloConfigDBDev数据库中的的ServerConfig表,中有一行为eureka.service.url,把他的value字段改成http://{IP}:8080/eureka/。因为DEV环境默认的端口号为8080。
  4. ApolloConfigDBPro数据库中的的ServerConfig表,中有一行为eureka.service.url,把他的value字段改成http://{IP}:8083/eureka/。因为DEV环境默认的端口号为8083。
    docker安装多环境Apollo
    文章图片

    这边提一下,各个环境的默认端口号
    开启dev环境, 默认端口: config 8080, admin 8090
    开启fat环境, 默认端口: config 8081, admin 8091
    开启fat环境, 默认端口: config 8081, admin 8091
    开启uat环境, 默认端口: config 8082, admin 8092
    开启pro环境, 默认端口: config 8083, admin 8093
自此我们的准备工作都已经做好了,下面开始正式的进入安装步骤。
docker安装Apollo
docker pull idoop/docker-apollodocker run --net="host" --name apollo -d \ -e PORTAL_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloPortalDB?characterEncoding=utf8' \ -e PORTAL_DB_USER='root' \ -e PORTAL_DB_PWD=‘pwd‘ \ -e DEV_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloConfigDBDev?characterEncoding=utf8' \ -e DEV_DB_USER='root' \ -e DEV_DB_PWD='pwd' \ -e PRO_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloConfigDBPro?characterEncoding=utf8' \ -e PRO_DB_USER='root' \ -e PRO_DB_PWD='pwd' \ idoop/docker-apollo:latest

首先第一步是下载apollo的镜像,第二步就是正式启动我们的Apollo命令。
这边需要注意的是:
例子中的{MySqlIP}和{MySqlPort}需要替换成自己的MySql的地址和端口号,用户名和密码这边就不多说了
还有一点要注意的是数据库的名字,是要跟之前创建的数据库一一对应。
验证
  1. 如果一切顺利你就会看到你的景象已经被拉起了,值的一提的是刚刚启动的时候马上去访问是不行的。需要让子弹飞一会,不要以为是自己没安装对。如果安装成功可以使用命令
    docker安装多环境Apollo
    文章图片
  2. 打开浏览器输入http://IP:8070,端口号8070默认为管理端端口。正常情况下可以打开
    docker安装多环境Apollo
    文章图片

    输入默认用户名密码
    apollo
    admin
    就可以进入整个管理界面了。至于如何使用Apollo这边就不做过多的描述了。自此整个安装过程就结束了。
引用文章:
https://blog.csdn.net/wangshouhan/article/details/86528700
http://t.zoukankan.com/xinzhyu-p-11479094.html

    推荐阅读