CentOS7使用docker部署Apollo配置中心的实现
apollo开源地址:
第一步
将项目clone到本地,然后在github的releases页面中下载三个zip文件
本文中重点讲解截止2019年1月最新的1.2.0版本的部署方法
第二步
打开clone到本地的项目,目录结构如下
第三步
在此目录下创建docker-compose.yml文件,写入内容:
这里注意两点:
1.在这里,我将原本的8080,8070,8090端口分别映射到9180,9181,9182端口,因为8080等端口是常用端口,可能会和其他项目发生冲突。
2.记得修改mysql的连接地址
讲一下,这里可能有人会问为什么不用apollo项目中提供的quickstart-docker脚本,因为:
在quickstart-docker中,apollo开源项目组为了减少部署操作,内置了mysql等一系列配置,我们在使用的时候肯定不会使用内置的东西,我们希望将数据存在我们自己的mysql数据库中。还有就是quickstart-docker是为了我们方便演示使用的
第四步
将第一步下载的三个zip文件分别复制到以下目录中
<1>
<2>
<3>
注意:
这三个目录分别对应apollo-adminservice,apollo-configservice,apollo-portal服务,同时我们需要分别对这三个目录下的dockerfile文件进行一下修改,打开dockerfile文件
在这里,我们发现dockerfile中指定的版本号是1.3.0-snapshot,但我们下载的zip包是1.2.0版本的,所以我们要分别对这三个dockerfile进行版本号修改,修改好的文件如下:
第五步
登录mysql,导入下面文件夹中sql文件,进行数据库初始化
导入成功后,看到多了两个数据库
第六步
将整个项目apollo文件夹打包成zip文件,使用ftp或scp命令将文件上传到centos7服务器中,在服务器上执行以下命令
然后看到命令输出
就表示这三个docker容器已创建成功
使用
查看docker服务
发现已成功运行,现在打开浏览器,输入
http://0.0.0.0:9182
就可以看到apollo的后台管理页面了
第七步
在第六步时,虽然部署完成但是这里有两个地方需要修改,否则会报错
1.进入apollo-portal容器
修改apollo-env环境变量
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的配置
官方有给出homepageurl的修改方法,但测试发现还是有问题的
官方的解决方案
在第3条
这里不建议直接修改homepageurl,最好的解决办法如下:
在application中添加以下代码
到此这篇关于centos7使用docker部署apollo配置中心的实现的文章就介绍到这了,更多相关docker部署apollo配置中心内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
使用Docker Compose搭建部署ElasticSearch的配置过程
-
Docker部署nginx并修改配置文件的实现方法
-
如何使用Docker部署Go Web应用的实现
-
使用docker -v 和 Publish over SSH插件实现war包自动部署到docker的操作步骤
-
CentOS7中配置Docker的yum源并安装使用详解
-
使用Docker部署Spring Boot的实现方法
-
CentOS7使用docker部署Apollo配置中心的实现
-
docker compose 一键部署分布式配置中心Apollo的过程详解
-
使用docker部署java项目运行环境的实现步骤
-
Apollo分布式配置中心在java的简单实现