使用Docker搭建Apollo分散式配置中心
阿新 • • 發佈:2021-06-18
使用Docker搭建Apollo分散式配置中心
檔案目錄結構
.
└── apollo
├── docker-compose.yml
└── sql
├── apolloconfigdb.sql
└── apolloportaldb.sql
搭建Apollo分散式配置中心
- 準備好docker-compose.yml檔案
version: '2' services: apollo-quick-start: image: nobodyiam/apollo-quick-start container_name: apollo-quick-start depends_on: - apollo-db ports: - "18080:8080" - "18070:8070" links: - apollo-db apollo-db: image: mysql:5.7 container_name: apollo-db environment: TZ: Asia/Shanghai MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' depends_on: - apollo-dbdata ports: - "13306:3306" volumes: - ./sql:/docker-entrypoint-initdb.d volumes_from: - apollo-dbdata apollo-dbdata: image: alpine:latest container_name: apollo-dbdata volumes: - /var/lib/mysql
- 使用以下命令建立
docker-compose up -d
- 關閉防火牆
systemctl status firewalld #檢視防火牆狀態
systemctl stop firewalld #關閉防火牆
那兩個db檔案是用來建立配置中心所需的初始化資料的,這個可以到官網下載。
驗證
訪問以下連結,如果出現登入視窗,說明配置成功
預設登陸名和密碼:
-
登入名: apollo
-
密碼: admin
對接.NET Core Web API
- 安裝元件
Com.Ctrip.Framework.Apollo.Configuration
或者直接下面的語句拷貝到專案檔案裡面
<PackageReference Include="Com.Ctrip.Framework.Apollo.Configuration" Version="2.4.1" />
- 修改appsettings.json
"Apollo": {
"AppId": "xindi-Microservice1",
"Env": "DEV",
"MetaServer": "http://10.122.52.206:18080/",
"ConfigServer": [ "http://10.122.52.206:18080/" ]
}
- 修改program.cs檔案
.ConfigureAppConfiguration((hostBuilderContext, configurationBuilder) =>
{
LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);
configurationBuilder
.AddApollo(configurationBuilder.Build().GetSection("Apollo"))
.AddDefault()
.AddNamespace("xindiMsPrivateJson", ConfigFileFormat.Json)//自定義private NameSpace
.AddNamespace(ConfigConsts.NamespaceApplication);//Apollo default NameSpace
})
以上配置表示去連線Apollo,從遠端獲取配置資訊
驗證
可以嘗試修改遠端的配置資訊,然後,在本地獲取,如果獲取到了遠端修改過的資訊,則說明配置成功了。