Docker搭建Apollo配置中心

本文将介绍采用docker-compose方式安装Apollo配置中心(基于centos7,Apollo 1.6)

需要使用到以下工具

  1. Maven
  2. Git
  3. docker-compose

上述工具安装方式请参考相关工具的官方网站,根据自己的需要安装相应版本即可(so easy)。

废话不多进入正题

安装步骤

1.使用GIT拉取最新代码

截止文章编写日期2020-03-14,最新版本Apollo为1.6版本
下面给出携程Apollo的Git地址
码云-Apollo.
GitHub-Apollo.

根据网速随意选择一个仓库地址拉取最新代码即可

git clone https://gitee.com/lepdou/apollo.git
git clone https://github.com/ctripcorp/apollo.git

附上Apollo项目目录截图
Apollo目录结构

2.修改scripts目录下编译脚本

修改build.sh 脚本(linux,Windows环境下使用git bash也可运行该sh脚本)
或者build.bat 脚本(Windows)
Script位置
build脚本
修改meta_server地址即可(数据库地址稍后使用docker-compose.yaml在构建镜像时进行设置)
meta位置

3.运行上一步修改的build.sh脚本
./build.sh

依赖maven环境,若依赖下载速度过慢可修改maven配置文件中中央仓库地址,推荐使用阿里云地址。

<!-- 阿里云中央仓库 -->
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
4.构建docker镜像准备工作
  1. 分别将apollo-adminservice,apollo-configservice,apollo-portal target目录下编译好的 xx-github.zip 复制到xx/src/main/docker/目录下
    以apollo-adminservice为例:
    apollo-adminservice/src/main/docker/
    示例
    docker文件
5.将docker-compose.yaml文件复制到,apollo根目录下

docker文件
docker-compose.yaml文件并不存在与apollo的源码目录中,需要新建docker-compose.yaml并复制以下配置文件信息插入到该文件即可。
配置文件详情如下

version: "3"
 
services:
  apollo-configservice:                                         
    container_name: apollo-configservice               #      
    build: apollo-configservice/src/main/docker/       #dockerfile目录     
    image: apollo-configservice                        #镜像名
    restart: always                                    #异常重启
    hostname: apollo-configservice                     #本次使用内网Ip,也可以使用桥接/host(与此处hostname冲突)
    ports:                                             #端口
      - "8080:8080"    
    volumes:                                           #挂载日志目录
      - "/data/apollo/logs/configservice:/opt/logs/100003171"
    environment:                                       #数据库环境变量,在设置meta_server地址时并未设置,在构建镜像时设置即可
      - spring_datasource_url=jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8
      - spring_datasource_username=root
      - spring_datasource_password=root
 
  apollo-adminservice:
    container_name: apollo-adminservice
    build: apollo-adminservice/src/main/docker/   
    image: apollo-adminservice                    
    ports:                                        
      - "8090:8090"
    restart: always                               
    hostname: apollo-adminservice                 
    depends_on:                                   #启动依赖
      - apollo-configservice
    volumes:
      - "/docker/apollo/logs/adminservice:/opt/logs/100003172"
    environment:
      - spring_datasource_url=jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8
      - spring_datasource_username=root
      - spring_datasource_password=root
 
  apollo-portal:
    container_name: apollo-portal
    build: apollo-portal/src/main/docker/
    image: apollo-portal
    ports:
      - "8070:8070"
    restart: always
    hostname: apollo-portal     
    depends_on:
      - apollo-adminservice
    volumes:
      - "/docker/apollo/logs/portal:/opt/logs/100003173"
    environment:
      - spring_datasource_url=jdbc:mysql://127.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8
      - spring_datasource_username=root
      - spring_datasource_password=root


6.启动Apollo

运行docker-compose up -d 即可启动apollo-admin,apollo-config,apollo-protal 三个容器的日志均位于/data/apollo/logs目录下

docker-compose up -d
7.注意事项
  1. 截止2020.3.14最新1.6版本 apolloconfigdb添加了accesskey表切记迁移低版本数据的时候从最新的sql表中复制accesskey表的插入语句
  2. 若出现metaserver 地址为apollo.meta,并且配置了
    apollo-portal的meta_server地址仍然无效的情况下,若只使用一个环境如dev可以通过则修改apollo\apollo-portal\src\main\java\com\ctrip\framework\apollo\portal\environment 中DEFAULT_SERVER变量实现,或者将docker-compose.yaml中网络模式采用桥接模式即可。
  3. 项目访问地址
    a) apollo-admin
    http://10.250.219.63:8090/
    b)apollo-config
    http://127.0.0.1:8080/
    c)apollo-portal
    http://127.0.0.1:8070/signin
    用户名:apollo
    密码:admin

以上就是Apollo配置中心搭建过程,有问题就留言讨论吧。
关于Apollo的使用方式建议查看Apollo wiki即可。

Stay hungry, Stay foolish。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值