简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

目前支持以下客户端: Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring
Boot环境也有较好的支持。 .Net客户端不依赖任何框架,能够运行于所有.Net运行时环境。

Apollo更多详细介绍:https://github.com/ctripcorp/apollo

Apollo工作流程图

docker搭建apollo环境 docker apollo_Apollo


搭建Apollo配置中心

要求:服务器内存建议2G以上
           运行环境JDK1.8 及以上
           使用MySQL 5.7及以上版本

方式一:使用Apollo Quick Start Docker部署 (推荐)

熟悉docke的朋友可以使用此种方式,简单快速
友情链接:Docker安装教程       Docker常用命令

1. 下载apollo源码上传至服务器 https://github.com/ctripcorp/apollo

解压文件进入apollo\scripts 将docker-quick-start压缩后上传到服务器

docker搭建apollo环境 docker apollo_docker搭建apollo环境_02


解压压缩文件 unzip docker-quick-start.zip

2. 环境准备

安装Docker-Compose (Docker-Compose是一个部署多个容器的简单但是非常必要的工具)
1、首先检查linux有没有安装python-pip包,终端执行 pip -V

[root@localhost apollo]# pip -V
pip 19.1.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

2、没有python-pip包就执行命令 yum -y install epel-release  
3、执行成功之后,再次执行yum -y install python-pip

4、对安装好的pip进行升级 pip install --upgrade pip

5、安装Docker-Compose pip install docker-compose

6、检查docker-compose 安装:docker-compose -version

[root@localhost apollo]# docker-compose version
docker-compose version 1.24.0, build 0aa5906
docker-py version: 3.7.2
CPython version: 2.7.5
OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017
3.启动Apollo

进入docker-quick-start目录下执行docker-compose up -d,-d表示后台启动,第一次执行会触发下载镜像等操作,需要耐心等待一些时间。

  • 注1:数据库的端口映射为13306,所以如果希望在宿主机上访问数据库,可以通过localhost:13306,用户名是root,密码留空。
  • 注2:如要查看更多服务的日志,可以通过docker exec -it apollo-quick-start bash登录, 然后到/apollo-quick-start/service和/apollo-quick-start/portal下查看日志信息。

启动成功后浏览器访问:服务器IP:8070
用户名密码 apollo/admin

官方教程:https://github.com/ctripcorp/apollo/wiki/Apollo-Quick-Start-Docker%E9%83%A8%E7%BD%B2

方式二:使用apollo-build-scripts包
1.下载aploll配置中心 https://github.com/nobodyiam/apollo-build-scripts

docker搭建apollo环境 docker apollo_docker_03


注意:下载慢的话可以去码云下载

2. 配置数据库

注意:MySQL版本最好使用5.7以上

本地解压后,执行apollo-build-scripts-master/sql目录下的两个sql脚本

docker搭建apollo环境 docker apollo_Apollo_04


执行后将会新建ApolloPortalDB和ApolloConfigDB两个数据库,并创建表好表结构

docker搭建apollo环境 docker apollo_docker搭建apollo环境_05

3. 上传zip压缩版包到服务服务器

上传:服务器执行rz命令,选择上传的zip文件
解压:unzip apollo-build-scripts-master.zip



###### 4. 修改配置文件 进入解压后的目录,执行`vim demo.sh` 修改如下三个地方: ###### apollo config db info 指定mysql连接地址 apollo_config_db_url=jdbc:mysql://`127.0.0.1:3307`/ApolloConfigDB?characterEncoding=utf8 apollo_config_db_username=`root` apollo_config_db_password=`123`

####### apollo portal db info
apollo_portal_db_url=jdbc:mysql://127.0.0.1:3307/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=root apollo_portal_db_password=123

meta server url 服务器ip端口

config_server_url=http://127.0.0.1:8080 admin_server_url=http://127.0.0.1:8090

#eureka_service_url=$config_server_url/eureka/

#修改Eureka地址,使用外部搭建的Eureka(使用默认MetaEureka则把上面的注释取消,并把此处删除)

eureka_service_url=http://127.0.0.1:8761/eureka/

portal_url=http://127.0.0.1:8070

docker搭建apollo环境 docker apollo_docker搭建apollo环境_06


4. 启动

启动脚本会在本地启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。

进入apollo-build-scripts-master目录
执行./demo.sh start

注意:在执行*.sh文件时,报-bash: ./demo.sh: Permission denied错误;这是因为对*.sh文件的读、写、运行权限不足;
解决方案:执行chmod 777 ./*.sh

5. 测试

访问服务器:127.0.0.7:8070

用户名密码 apollo/admin

docker搭建apollo环境 docker apollo_阿波罗_07

主页:

docker搭建apollo环境 docker apollo_docker_08

-------------------------------------------------- 如果不对之处,还望多多指出,欢迎交流!-----------------------------------------------------