• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    CentOS7使用docker部署Apollo配置中心的实现

    Apollo开源地址:

    https://github.com/ctripcorp/apollo

    第一步

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

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

    第二步

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

    第三步

    在此目录下创建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?characterEncoding=utf8
       - spring_datasource_username=root
       - spring_datasource_password=123456
    
     apollo-adminservice:
      container_name: apollo-adminservice
      build: apollo-adminservice/src/main/docker/
      image: apollo-adminservice
      ports:
       - "9181:8090"
      depends_on:
       - apollo-configservice
      volumes:
       - "/opt/logs/100003172"
      environment:
       - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloConfigDB?characterEncoding=utf8
       - spring_datasource_username=root
       - spring_datasource_password=123456
    
     apollo-portal:
      container_name: apollo-portal
      build: apollo-portal/src/main/docker/
      image: apollo-portal
      ports:
       - "9182:8070"
      depends_on:
       - apollo-adminservice
      volumes:
       - "/opt/logs/100003173"
      environment:
       - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloPortalDB?characterEncoding=utf8
       - spring_datasource_username=root
       - spring_datasource_password=123456

    这里注意两点:

    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服务器中,在服务器上执行以下命令

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

    然后看到命令输出

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

    使用

    docker ps -a

    查看docker服务

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

    http://0.0.0.0:9182

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

    第七步

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

    1.进入apollo-portal容器

    修改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的配置

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

    官方的解决方案

    在第3条

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

    在Application中添加以下代码

    static{
      System.setProperty("Dapollo.configService","http://192.168.X.X")
    }

    到此这篇关于CentOS7使用docker部署Apollo配置中心的实现的文章就介绍到这了,更多相关docker部署Apollo配置中心内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:Filebeat 采集 Nginx 日志的方法
    下一篇:linux中docker的安装教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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