docker安裝多環境Apollo

大二小的寶發表於2022-07-14

Apollo介紹

Apollo(阿波羅)是攜程框架部門研發的分散式配置中心,能夠集中化管理應用不同環境、不同叢集的配置,配置修改後能夠實時推送到應用端,並且具備規範的許可權、流程治理等特性,適用於微服務配置管理場景。

使用docker安裝Apollo

因為工作需要,需要使用Apollo作為系統的配置中心。安裝Apollo有很多種方式,可以按部就班的根據官方文件一步步的安裝。但是大多數的程式設計師對Apollo是不太熟悉的,所以docker就是一種比較簡單的安裝方式。如果對docker不瞭解可以先適當的熟悉一下docker。
本文以Ubuntu系統為例,安裝一個擁有兩個環境(DEV,PRO)的Apollo配置系統。希望對大家有所幫助。

環境準備

前置安裝

既然是用docker安裝Apollo,那肯定需要先安裝docker環境。以Ubuntu系統為例,我們可以利用Apt命令來安裝docker環境。
sudo apt install docker

顯示安裝成功之後可以使用docker命令來測試一下是否安裝成功。

前置環境準備

Mysql,Apollo的資料是儲存在Mysql中的,所以我們需要一個MySql環境,可以使用docker安裝,也可以使用已經存在的MySql例項。在此就不過多描述做MySql安裝的過程了。

建立資料庫

https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloportaldb.sql
https://github.com/ctripcorp/apollo/blob/master/scripts/sql/apolloconfigdb.sql

注意:apolloportaldb.sql為portal資料庫指令碼,apolloconfigdb.sql為環境配置資料庫指令碼。
portal資料庫只需要一個,但是如果需要安裝多環境的Apollo的話,需要準備多個config資料庫。可以在apolloconfigdb.sql中稍作修改。

DEV環境資料庫名:ApolloConfigDBDev
PRO環境資料庫名:ApolloConfigDBPro

修改資料庫表

在建立為三個資料庫之後,我們需要改動一下資料庫中的兩個表。

  1. ApolloPortalDB中的ServerConfig表中,有一行apollo.portal.envs。預設是dev,我們需要把他改成兩個環境並且用逗號隔開:dev,pro。
  2. ApolloPortalDB中的ServerConfig表中,有一行apollo.portal.meta.servers。預設為空,我們需要把他改成{http://{IP}:8080}。注意這邊的IP可以是外網地址。
  3. ApolloConfigDBDev資料庫中的的ServerConfig表,中有一行為eureka.service.url,把他的value欄位改成http://{IP}:8080/eureka/。因為DEV環境預設的埠號為8080。
  4. ApolloConfigDBPro資料庫中的的ServerConfig表,中有一行為eureka.service.url,把他的value欄位改成http://{IP}:8083/eureka/。因為DEV環境預設的埠號為8083。

    這邊提一下,各個環境的預設埠號
    開啟dev環境, 預設埠: config 8080, admin 8090
    開啟fat環境, 預設埠: config 8081, admin 8091
    開啟fat環境, 預設埠: config 8081, admin 8091
    開啟uat環境, 預設埠: config 8082, admin 8092
    開啟pro環境, 預設埠: config 8083, admin 8093

自此我們的準備工作都已經做好了,下面開始正式的進入安裝步驟。

docker安裝Apollo

docker pull idoop/docker-apollo

docker run --net="host" --name apollo -d \
 -e PORTAL_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloPortalDB?characterEncoding=utf8' \
 -e PORTAL_DB_USER='root' \
 -e PORTAL_DB_PWD=‘pwd‘ \
 -e DEV_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloConfigDBDev?characterEncoding=utf8' \
 -e DEV_DB_USER='root' \
 -e DEV_DB_PWD='pwd' \
 -e PRO_DB='jdbc:mysql://{MySqlIP}:{MySqlPort}/ApolloConfigDBPro?characterEncoding=utf8' \
 -e PRO_DB_USER='root' \
 -e PRO_DB_PWD='pwd' \
 idoop/docker-apollo:latest 

首先第一步是下載apollo的映象,第二步就是正式啟動我們的Apollo命令。

這邊需要注意的是:
例子中的{MySqlIP}和{MySqlPort}需要替換成自己的MySql的地址和埠號,使用者名稱和密碼這邊就不多說了
還有一點要注意的是資料庫的名字,是要跟之前建立的資料庫一一對應。

驗證

  1. 如果一切順利你就會看到你的景象已經被拉起了,值的一提的是剛剛啟動的時候馬上去訪問是不行的。需要讓子彈飛一會,不要以為是自己沒安裝對。如果安裝成功可以使用命令
  2. 開啟瀏覽器輸入http://IP:8070,埠號8070預設為管理端埠。正常情況下可以開啟

    輸入預設使用者名稱密碼
    apollo
    admin
    就可以進入整個管理介面了。至於如何使用Apollo這邊就不做過多的描述了。自此整個安裝過程就結束了。

引用文章:
https://blog.csdn.net/wangshouhan/article/details/86528700
http://t.zoukankan.com/xinzhyu-p-11479094.html

相關文章