Docker部署Apollo分布式环境
在一个Docker容器中部署Dev和Pro双配置环境。 应用镜像:https://hub.docker.com/r/idoop/docker-apollo/ 里面说明很清晰,不过有些地方需要我们部署后手工调整,很坑啊。 一、创建数据库和表 参考:官方文档 创建三个数据库: 然后分别通过官方的sql建立表结构 二、创建Docker容器 经验证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默认密码 新版本可以在界面中进行修改了,进入用户管理界面: 官方文档中写的很明确,update or create,也就是用户名已存在的会进行更新。我们直接填写apollo,然后修改为新密码即可。 2.配置部门列表 修改ApolloPortalDB数据库,表ServerConfig的organizations字段: 3.调整Pro的Eureka连接地址(很坑的一个地方) 默认的话都会连接到8080的Eureka上,这样会出问题的,配置混乱。 我们修改数据库ApolloConfigDBPro中的ServerConfig表里面的eureka.service.url字段 可以看到默认为8080,我们修改为8083即可。 我们重启容器服务,然后可以验证一下: 访问8080端口和8083端口,看到都是对应的就说明配置正确了。