Apollo开源地址:

https://github.com/ctripcorp/apollo

第一步

将项目clone到本地,然后在github的releases页面中下载三个zip文件

本文中重点讲解截止2019年1月最新的1.2.0版本的部署方法

第二步

打开clone到本地的项目,目录结构如下

CentOS7使用docker部署Apollo配置中心的实现

第三步

在此目录下创建docker-compose.yml文件,写入内容:

version: "3"

services:
 apollo-configservice:                     ##容器服务名
  container_name: apollo-configservice            ##容器名
  build: apollo-configservice/src/main/docker/        ##Dockerfile路径
  image: apollo-configservice             ##镜像名
  ports:
   - "9180:8080"  
  volumes:
   - "/opt/logs/100003171"  ##将/opt/logs/100003171目录挂载到宿主机的/Users/mobin/opt/logs/100003171方便在宿主机上查看日志
  environment:
   - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloConfigDB"9181:8090"
  depends_on:
   - apollo-configservice
  volumes:
   - "/opt/logs/100003172"
  environment:
   - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloConfigDB"9182:8070"
  depends_on:
   - apollo-adminservice
  volumes:
   - "/opt/logs/100003173"
  environment:
   - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloPortalDB"color: #ff0000">第四步

将第一步下载的三个zip文件分别复制到以下目录中

<1>

CentOS7使用docker部署Apollo配置中心的实现

<2>

CentOS7使用docker部署Apollo配置中心的实现

<3>

CentOS7使用docker部署Apollo配置中心的实现

注意:

这三个目录分别对应apollo-adminservice,apollo-configservice,apollo-portal服务,同时我们需要分别对这三个目录下的Dockerfile文件进行一下修改,打开Dockerfile文件

CentOS7使用docker部署Apollo配置中心的实现

在这里,我们发现Dockerfile中指定的版本号是1.3.0-SNAPSHOT,但我们下载的zip包是1.2.0版本的,所以我们要分别对这三个Dockerfile进行版本号修改,修改好的文件如下:

CentOS7使用docker部署Apollo配置中心的实现

第五步

登录mysql,导入下面文件夹中sql文件,进行数据库初始化

CentOS7使用docker部署Apollo配置中心的实现

导入成功后,看到多了两个数据库

CentOS7使用docker部署Apollo配置中心的实现

第六步

将整个项目apollo文件夹打包成zip文件,使用ftp或scp命令将文件上传到centos7服务器中,在服务器上执行以下命令

unzip apollo.zip
cd apollo
docker-compose up -d

然后看到命令输出

CentOS7使用docker部署Apollo配置中心的实现

就表示这三个docker容器已创建成功

使用

docker ps -a

查看docker服务

CentOS7使用docker部署Apollo配置中心的实现

发现已成功运行,现在打开浏览器,输入

http://0.0.0.0:9182

就可以看到Apollo的后台管理页面了

CentOS7使用docker部署Apollo配置中心的实现

第七步

在第六步时,虽然部署完成但是这里有两个地方需要修改,否则会报错

1.进入apollo-portal容器

CentOS7使用docker部署Apollo配置中心的实现

修改apollo-env环境变量

local.meta=http://localhost:9180
dev.meta=http://localhost:9180
fat.meta=http://localhost:9180
uat.meta=http://localhost:9180
lpt.meta=${lpt_meta}
pro.meta=http://localhost:9180

2.修改数据库ApolloConfigDB的ServerConfig表中的eureka.service.url字段

http://localhost:9180/eureka/

修改完成后重启apollo的三个容器即可

注意:

默认账号是apollo

默认密码admin

登录apollo后,打开系统信息页,可以看到这里有个Home Page Url,因为我们是在docker中部署的,所以这个地方显示的IP地址是有问题的,它的IP地址是Docker容器中的默认IP地址,这个地址是有问题的,因为我们在集成到项目中的时候,访问的是服务器IP,所以Docker容器中的IP地址是访问不了的,集成的时候就发现读取不了apollo的配置

CentOS7使用docker部署Apollo配置中心的实现

官方有给出HomePageUrl的修改方法,但测试发现还是有问题的

官方的解决方案

在第3条

这里不建议直接修改HomePageUrl,最好的解决办法如下:

在Application中添加以下代码

static{
  System.setProperty("Dapollo.configService","http://192.168.X.X")
}
标签:
docker部署Apollo,docker,Apollo配置中心

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?