1. 程式人生 > >攜程 Apollo 配置中心 | 學習筆記(五) | 詳細介紹攜程Apollo配置中心部署至Docker容器

攜程 Apollo 配置中心 | 學習筆記(五) | 詳細介紹攜程Apollo配置中心部署至Docker容器

一、Apollo配置中心介紹

          關於攜程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就會看到起好的專案


 到這裡基本完成,如何有問題,可在下方留言,中間我也遇到過許多坑。歡迎探討!