最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker部署apollo詳細教程

 更新時間:2019年09月12日 11:31:36   作者:閱歷筆記  
這篇文章主要介紹了docker部署apollo詳細教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、前言

apollo的詳細介紹我就不在這里多說了,官網上https://github.com/ctripcorp/apollo 已經說的非常明白了,我就不在這班門弄斧了,還不了解的小伙伴可以去官網上去了解下。

本篇文章只是記錄我在使用docker部署的Apollo以及其集群的方式,給大家分享出來也自我做一個記錄。

注意: 我是直接部署開始的,有關數據庫的創(chuàng)建和初始化自己根據官網搞定。

2、源碼編譯

2.1 網絡策略

網絡策略直接使用官網描述的就可以,具體就是分別編輯apollo-configservice/src/main/resources/application.yml和apollo-adminservice/src/main/resources/application.yml,然后把需要忽略的網卡加進去。

如下面這個例子就是對于apollo-configservice,把docker0和veth.*的網卡在注冊到Eureka時忽略掉。

spring:
   application:
     name: apollo-configservice
   profiles:
    active: ${apollo_profile}
   cloud:
    inetutils:
     ignoredInterfaces:
      - docker0
      - veth.*

注意,對于application.yml修改時要小心,千萬不要把其它信息改錯了,如spring.application.name等。

2.2 動態(tài)指定注冊網絡

在使用docker搭建集群是, adminservice、configservice都需要向注冊中心注冊地址,如果不指定注冊IP,注冊的是docker內部的網絡,導致網絡不通。

在apollo-configservice/src/main/resources/bootstrap.yml和apollo-adminservice/src/main/resources/bootstrap.yml添加如下代碼。

eureka:
 instance:
    ip-address: ${eureka.instance.ip-address}

這個地方取值從環(huán)境變量中取,容器外部來配置這樣給部署帶來了更大的靈活性。

到這源碼的修改已經完成,直接build打包就可以了,拿到對應三個服務的zip包。

如果懶得修改,也可以直接從https://github.com/yuelicn/apollo.拉下我修改好的源碼直接打包即可。

3、dockerfile編寫

Apollo 的Dockerfile非常簡單, 直接使用官方提供的即可。下方是adminservice示例。

# Dockerfile for apollo-adminservice
# Build with:
# docker build -t apollo-adminservice .
# Run with:
# docker run -p 8090:8090 -d --name apollo-adminservice apollo-adminservice

FROM java:8-jre
MAINTAINER Louis

ENV VERSION 1.5.0

RUN apt-get install unzip

ADD apollo-adminservice-${VERSION}-github.zip /apollo-adminservice/apollo-adminservice-${VERSION}-github.zip

RUN unzip /apollo-adminservice/apollo-adminservice-${VERSION}-github.zip -d /apollo-adminservice \
  && rm -rf /apollo-adminservice/apollo-adminservice-${VERSION}-github.zip \
  && sed -i '$d' /apollo-adminservice/scripts/startup.sh \
  && echo "tail -f /dev/null" >> /apollo-adminservice/scripts/startup.sh

EXPOSE 8090

CMD ["/apollo-adminservice/scripts/startup.sh"]

需要注意的,

1: version 需要根據自己打包的版本來修改
2: ADD zip包時修改你路徑

三個服務的dockerfile文件基本相同,我就不在這多說了。需要的小伙伴直接從https://github.com/yuelicn/docker-apollo就可以了。

4 docker-compose 的編寫

4.1 apollo-configservice-compose.yml

version: "3"
services:
 apollo-configservice:
  container_name: apollo-configservice
  build: apollo-configservice/
  image: apollo-configservice
  ports:
   - 8080:8080
  volumes:
   - "/docker/apollo/logs/100003171:/opt/logs/100003171"
  environment:
   - spring_datasource_url=jdbc:mysql://127.0.0.1:8306/ApolloConfigDB_TEST?characterEncoding=utf8
   - spring_datasource_username=root
   - spring_datasource_password=mysql2019*
   - eureka.instance.ip-address=172.11.11.11

  restart: always

注意事項,

1: build: 中指定你Dockerfile文件的位置
2: environment 環(huán)境變量中指定你數據庫的配置信息
3: eureka.instance.ip-address 指定注冊到eureka地址,這個最好使用你物理機的內網地址。

特別注意: 啟動前最好先修改ApolloConfigDB數據庫中 ServerConfig中的eureka.service.url值,改為具體的IP
啟動:

docker-compose -f apollo-configservice-compose.yml up --build -d

4.2 apollo-adminservice-compose.yml

apollo-adminservice-compose.yml的內容基本和apollo-configservice-compose.yml相同,在這我就不一一說明了。

4.3 apollo-portal-compose.yml

version: "3"
services:
 apollo-portal:
  container_name: apollo-portal
  build: apollo-portal/
  image: apollo-portal
  ports:
   - 8070:8070
  volumes:
   - "/docker/apollo/logs/100003173:/opt/logs/100003173"
   - "/apollo-portal/config/apollo-env.properties:/apollo-portal/config/apollo-env.properties"
  environment:
   - spring_datasource_url=jdbc:mysql://127.0.0.1:8306/ApolloPortalDB?characterEncoding=utf8
   - spring_datasource_username=root
   - spring_datasource_password=mysql2019*
   

  restart: always

注意事項:
1: 需要注意的和上述configservice基本相同
2: 特別需要注意的事項 重要!重要!重要!重要!重要!volumes: 中我將
apollo-env.properties文件映射到容器外面了,將自己的apollo-env.properties文件配置后將自己的掛載地址填上,冒號前的地址“/apollo-portal/config/apollo-env.properties”修改成自己的。必須在啟動前將此配置文件指定好。
啟動

docker-compose -f apollo-configservice-compose.yml up --build -d

4.3.1 apollo-env.properties

local.meta=http://localhost:8080
dev.meta=${dev_meta}
fat.meta=${fat_meta}
uat.meta=${uat_meta}
lpt.meta=${lpt_meta}
pro.meta=${pro_meta}

將自己的meta地址配置上, 沒有的可以直接刪除。有不明白的可以去官網上了解,環(huán)境配置完后修改對應的數據庫中ApolloPortalDB.ServerConfig中apollo.portal.envs 值,填上你的配置的環(huán)境。否則我們在portal管理頁面只能看到默認dev環(huán)境。

5 完整的docker-compose.yml

如果嫌棄一個個啟動麻煩也以使用一個完整的compose來啟動。

version: "3"
services:
 apollo-configservice:
  container_name: apollo-configservice
  build: apollo-configservice/
  image: apollo-configservice
  ports:
   - 8080:8080
  volumes:
   - "/docker/apollo/logs/100003171:/opt/logs/100003171"
  environment:
   - spring_datasource_url=jdbc:mysql://47.xx.xx.209:8306/ApolloConfigDB?characterEncoding=utf8
   - spring_datasource_username=root
   - spring_datasource_password=Tusdao@xx*
   - eureka.instance.ip-address=172.11.11.11
  restart: always

 apollo-adminservice:
  container_name: apollo-adminservice
  build: apollo-adminservice/
  image: apollo-adminservice
  ports:
   - 8090:8090
  volumes:
   - "/docker/apollo/logs/100003172:/opt/logs/100003172"
  environment:
   - spring_datasource_url=jdbc:mysql://47.xx.xx.209:8306/ApolloConfigDB?characterEncoding=utf8
   - spring_datasource_username=root
   - spring_datasource_password=Tusdao@xx*
   - eureka.instance.ip-address=172.11.11.11
  depends_on:
   - apollo-configservice

  restart: always

 apollo-portal:
  container_name: apollo-portal
  build: apollo-portal/
  image: apollo-portal
  ports:
   - 8070:8070
  volumes:
   - "/docker/apollo/logs/100003173:/opt/logs/100003173"
   - "/Apollo/docker-image/apollo-portal/config/apollo-env.properties:/apollo-portal/config/apollo-env.properties"
  environment:
   - spring_datasource_url=jdbc:mysql://47.xx.xx.209:8306/ApolloPortalDB?characterEncoding=utf8
   - spring_datasource_username=root
   - spring_datasource_password=Tusdao@xx*
  depends_on:
   - apollo-adminservice
  restart: always

注意: 需要修改的地方和單個基本相同,我在這就不嘮叨了。

到這docker部署Apoll基本搞定,如有小伙伴需要完整的docker部署文件請移步https://github.com/yuelicn/docker-apollo

6集群的搭建

Apollo集群的搭建非常簡單,只需要修改兩個地方就可以了,我們就以正式環(huán)境(pro)來說明,
在pro環(huán)境我們搭建了兩套adminservice、configservice,數據庫都是同一個ApolloConfigDB,

1:將ServerConfig中的eureka.service.url值eureka連接信息兩個都寫上用逗號分隔:http://IP-1:port/eureka,http://IP-2:port/eureka

2:修改apollo-env.properties中對應環(huán)境的連接信息如: pro.meta=http://IP-1:port,http://IP-2:port 地址用逗號分隔就可以了。

之后重啟服務就搞定了。

最后強調,adminservice、configservice 需要每個環(huán)境單獨部署,包括數據庫。portal只需要部署一套就可以了。

OK! 完成,上述是指個人搭建記錄,希望對你有幫助,如果不對的地方歡迎指正。

修改后的源碼地址:https://github.com/yuelicn/apollo

整理好的Docker-Apollo:https://github.com/yuelicn/docker-apollo

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 一篇文章讓你搞清楚docker常用命令

    一篇文章讓你搞清楚docker常用命令

    這篇文章主要介紹了一篇文章讓你搞清楚docker常用命令的相關資料,需要的朋友可以參考下
    2022-11-11
  • docker搭建本地私有倉庫的實現

    docker搭建本地私有倉庫的實現

    有時候使用Docker Hub這樣的公共倉庫可能不方便,這種情況下用戶可以使用registry創(chuàng)建一個本地倉庫供私人使用,本文主要介紹了docker搭建本地私有倉庫的實現,感興趣的可以了解一下
    2023-12-12
  • CentOS7使用docker部署Apollo配置中心的實現

    CentOS7使用docker部署Apollo配置中心的實現

    這篇文章主要介紹了CentOS7使用docker部署Apollo配置中心的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • liunx內存滿了,docker中overlay2爆表解決方案

    liunx內存滿了,docker中overlay2爆表解決方案

    這篇文章主要介紹了liunx內存滿了,docker中overlay2爆表解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 解決Docker daemon啟動問題

    解決Docker daemon啟動問題

    這篇文章主要介紹了解決Docker daemon啟動問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker中RocketMQ的安裝與使用詳解

    Docker中RocketMQ的安裝與使用詳解

    這篇文章主要介紹了Docker中RocketMQ的安裝與使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • Docker中Mysql容器無法停止無法刪除問題

    Docker中Mysql容器無法停止無法刪除問題

    這篇文章主要介紹了Docker中Mysql容器無法停止無法刪除問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker(黑馬spring?cloud筆記)詳解

    Docker(黑馬spring?cloud筆記)詳解

    這篇文章主要介紹了Docker(黑馬spring?cloud筆記)詳解,本文章內容詳細,具有很好的參考價值,希望對大家有所幫助,需要的朋友可以參考下<BR>
    2023-01-01
  • 基于docker搭建redis集群的方法

    基于docker搭建redis集群的方法

    這篇文章主要介紹了基于docker搭建redis集群的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Docker 阿里云鏡像倉庫CR使用小結

    Docker 阿里云鏡像倉庫CR使用小結

    阿里云提供了免費的容器鏡像服務,更重要的是支持公開和私有倉庫,本文主要介紹了Docker 阿里云鏡像倉庫CR使用小結,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02

最新評論

富源县| 珠海市| 徐闻县| 肥乡县| 崇礼县| 大名县| 乌什县| 天水市| 勐海县| 射洪县| 临沂市| 绥芬河市| 廉江市| 淮阳县| 濮阳市| 新巴尔虎右旗| 西藏| 略阳县| 梁山县| 黑山县| 靖边县| 尤溪县| 阿图什市| 克山县| 松原市| 蓝山县| 尉氏县| 盐池县| 固安县| 高邑县| 陆良县| 桃江县| 绵阳市| 安龙县| 甘谷县| 应城市| 宁波市| 横峰县| 扬州市| 蒲城县| 旌德县|