携程 Apollo 配置中心 | 学习笔记(五) | 详细介绍携程Apollo配置中心部署至Docker容器

一、Apollo配置中心介绍

          关于携程apollo配置中心的介绍,官网和网上都有许多教程,这里我放下之前我写的,如果有不了解的可以先看这些文章。

          携程 Apollo 配置中心 | 学习笔记(一) Apollo配置中心简单介绍

          携程 Apollo 配置中心 | 学习笔记(二) Windows 系统搭建基于携程Apollo配置中心单机模式

          携程 Apollo 配置中心 | 学习笔记(三) 自定义Spring Boot项目通过配置中心启动项目

          官方文档: 携程Apollo使用文档

二、环境准备

           Java Jdk 1.8、Maven 3.3.9、Apollo版本 0.10.1、docker 17.03.2-ce、docker-compose 1.15.0

           以上这些环境需要安装并配置测试好。

           说明:此文章介绍,如何使用Docker快速部署Apollo,分别将Apoll-conifgservice、Apollo-adminservice、Apollo-portal分别docker化,来提高其扩展性,其中Mysql没有Docker化,而是在另外一台服务器中。

  

三、部署步骤

       3.1 官网下载Apollo

           https://github.com/ctripcorp/apollo

       3.2 引入到Eclipse

           

             确认项目不报错后,修改apollo-adminservice、apollo-configservice  bootstrap.yml中Eureka服务注册与发现地址:修改成服务器Ip地址。

         

      3.3 修改Eureka环境地址

这里我已经修改了端口号,以避免8080端口冲突,这里有需要改的同学可以注意下。

修改apollo-core项目中环境地址

 

     3.4 修改startup.sh 文件

                 

因为修改了端口号,所以需要在apollo-configservice、apollo-portal 中分别进入到src\main\scripts 目录中,修改startup.sh文件

       3.4.1 修改apollo-configservice  startup.sh文件

   修改成8077端口

SERVER_PORT=8077

       3.4.2 修改apollo-portal  startup.sh文件

修改成8070端口

SERVER_PORT=8070

          3.5 修改Dockerfile文件

分别修改apollo-configservice和apollo-portal \src\main\docker 目录中的Dockerfile文件,

修改apollo-configservice  当中的EXPOSE 8077

修改apollo-portal  当中的EXPOSE 8070

          3.6 修改build.bat文件

           这里我在Windows操作系统中 生成Jar文件,所以改build.bat。如果在Linux系统中,可以修改.sh文件。

           修改内容如图所示:

            

            主要修改Mysql 地址以及服务注册与发现地址。

然后,点击运行build.bat文件,直至显示运行成功!(需要注意安装配置Maven环境)

 

           3.6 上传文件至服务器

                     

                   如图所示,在/home/apollo目录中新建三个目录文件,分别将上一步骤在\target目录中生成的.jar、.github.zip文件上传至服务器中 以及  \src\main\docker 目录中的Dockerfile文件

                     

             3.7 运行docker-compose.yml文件

                       文件内容如下:

version: "3"

services:
  apollo-configservice:                                         ##容器服务名
    container_name: apollo-configservice                        ##容器名
    build: apollo-configservice/                                ##Dockerfile路径
    image: apollo-configservice:0.10.1                           ##镜像名
    network_mode: host                                         ##网络设置
    ports:
      - "8077:8077"
    volumes:
      - "/Users/mobin/opt/logs/100003171:/opt/logs/100003171"    ##将/opt/logs/100003171目录挂载到宿主机的/Users/mobin/opt/logs/100003171方便在宿主机上查看日志
    environment:
      - spring_datasource_url=jdbc:mysql://xxxx:3306/ApolloConfigDB?characterEncoding=utf8
      - spring_datasource_username=root
      - spring_datasource_password=xxxx

  apollo-adminservice:
    container_name: apollo-adminservice
    build: apollo-adminservice/
    image: apollo-adminservice:0.10.1
    network_mode: host
    #net: "host"
    ports:
      - "8090:8090"
    depends_on:
      - apollo-configservice
    volumes:
      - "/Users/mobin/opt/logs/100003172:/opt/logs/100003172"
    environment:
      - spring_datasource_url=jdbc:mysql://xxxx:3306/ApolloConfigDB?characterEncoding=utf8
      - spring_datasource_username=root
      - spring_datasource_password=xxx

  apollo-portal:
    container_name: apollo-portal
    build: apollo-portal/
    image: apollo-portal:0.10.1
    network_mode: host
    #net: "host"
    ports:
      - "8070:8070"
    depends_on:
      - apollo-adminservice
    volumes:
      - "/Users/mobin/opt/logs/100003173:/opt/logs/100003173"
    environment:
      - spring_datasource_url=jdbc:mysql://xxxx:3306/ApolloPortalDB?characterEncoding=utf8
      - spring_datasource_username=root
      - spring_datasource_password=xxx
     

四、运行结果

      输入命令: docker-compose up -d

      

      启动之后,不会马上就有,输入top命令查看

      

      这时候会看到有java 占用cpu 超过 100% 当运行完了就会显示正常。这时候输入 服务器ip:8070就会看到起好的项目


 到这里基本完成,如何有问题,可在下方留言,中间我也遇到过许多坑。欢迎探讨!

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值