docker安装多环境Apollo

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_第1张图片
  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_第2张图片

    这边提一下,各个环境的默认端口号
    开启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-apollo

docker 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. 如果一切顺利你就会看到你的景象已经被拉起了,值的一提的是刚刚启动的时候马上去访问是不行的。需要让子弹飞一会,不要以为是自己没安装对。如果安装成功可以使用命令
  2. 打开浏览器输入http://IP:8070,端口号8070默认为管理端端口。正常情况下可以打开
    docker安装多环境Apollo_第3张图片
    输入默认用户名密码
    apollo
    admin
    就可以进入整个管理界面了。至于如何使用Apollo这边就不做过多的描述了。自此整个安装过程就结束了。

引用文章:
https://blog.csdn.net/wangshouhan/article/details/86528700
http://t.zoukankan.com/xinzhyu-p-11479094.html

你可能感兴趣的:(apollodocker)