Docker部署Apollo分布式环境

  1. 云栖社区>
  2. 博客>
  3. 正文

Docker部署Apollo分布式环境

ykbjfree 2018-08-03 10:04:02 浏览6100
展开阅读全文

在一个Docker容器中部署Dev和Pro双配置环境。

应用镜像:https://hub.docker.com/r/idoop/docker-apollo/

里面说明很清晰,不过有些地方需要我们部署后手工调整,很坑啊。

一、创建数据库和表

参考:官方文档

创建三个数据库:

76c10a93929d14fb68f41f7052a05370bbd.jpg

然后分别通过官方的sql建立表结构

二、创建Docker容器

91b152b4813b538c54d921d4a1b4dce5394.jpg

经验证Network可以使用bridge桥接模式。

配置容器的ENV环境变量:

# 开启Portal,默认端口: 8070
PORTAL_DB: jdbc:mysql://192.168.1.28:3306/ApolloPortalDB?characterEncoding=utf8
PORTAL_DB_USER: root
PORTAL_DB_PWD: toor

# 开启dev环境, 默认端口: config 8080, admin 8090
DEV_DB: jdbc:mysql://192.168.1.28:3306/ApolloConfigDBDev?characterEncoding=utf8
DEV_DB_USER: root
DEV_DB_PWD: toor

# 开启pro环境, 默认端口: config 8083, admin 8093
DEV_DB: jdbc:mysql://192.168.1.28:3306/ApolloConfigDBPro?characterEncoding=utf8
DEV_DB_USER: root
DEV_DB_PWD: toor

我们都采用默认端口,注意不要跟其他容器端口冲突。

然后我们就启动容器吧。

三、调整配置

1.修改apollo默认密码

新版本可以在界面中进行修改了,进入用户管理界面:

47664fee595202b7c9eed6028893f1a2a39.jpg

官方文档中写的很明确,update or create,也就是用户名已存在的会进行更新。我们直接填写apollo,然后修改为新密码即可。

2.配置部门列表

修改ApolloPortalDB数据库,表ServerConfig的organizations字段:

5447e29e2eb3dfdaa94d417ce77e319df45.jpg

3.调整Pro的Eureka连接地址(很坑的一个地方)

默认的话都会连接到8080的Eureka上,这样会出问题的,配置混乱。

我们修改数据库ApolloConfigDBPro中的ServerConfig表里面的eureka.service.url字段

可以看到默认为8080,我们修改为8083即可。

8f58133f77ada4cc3b675339b746e952fa5.jpg

我们重启容器服务,然后可以验证一下:

访问8080端口和8083端口,看到都是对应的就说明配置正确了。

6047fd83a40b3e3b06331adc0a3187e9bd6.jpg

37b88a9d580faeddf240978d3bca9288ae5.jpg

 

网友评论

登录后评论
0/500
评论
ykbjfree
+ 关注