您的位置:首页 > 运维架构 > Docker

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

2018-04-03 15:08 1231 查看

一、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就会看到起好的项目



 到这里基本完成,如何有问题,可在下方留言,中间我也遇到过许多坑。欢迎探讨!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: