環境准備:
CentOS 7.6.1810
MySQL 5.7
docker 19.03.4
拉取nacos/nacos-server鏡像
docker pull nacos/nacos-server
配置數據庫(MySQL)
-
創建存儲
nacos配置的數據庫create database nacos_config -
初始化數據庫,導入初始化文件nacos-db.sql
創建nacos容器
docker run -d \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_MASTER_SERVICE_HOST=數據庫ip \
-e MYSQL_MASTER_SERVICE_PORT=數據庫端口 \
-e MYSQL_MASTER_SERVICE_USER=用戶名 \
-e MYSQL_MASTER_SERVICE_PASSWORD=密碼 \
-e MYSQL_MASTER_SERVICE_DB_NAME=對應的數據庫名 \
-e MYSQL_SLAVE_SERVICE_HOST=從數據庫ip \
-p 8848:8848 \
--name nacos-sa-mysql \
--restart=always \
nacos/nacos-server
具體配置參數參考官方文檔,這里有個注意的是MYSQL_SLAVE_SERVICE_HOST也需要配置,因為通過查看nacos容器內的config/application.properties文件,會發現這此值未設置默認值,所以會導致啟動報錯,容器啟動不起來,這里可以與主數據庫一致。
| 參數名 | 描述 | 可選項 | 默認值 |
|---|---|---|---|
| MODE | cluster模式/standalone模式 | cluster/standalone | cluster |
| NACOS_SERVERS | nacos cluster地址 | eg. ip1,ip2,ip3 | |
| PREFER_HOST_MODE | 是否支持hostname | hostname/ip | ip |
| NACOS_SERVER_PORT | nacos服務器端口 | 8848 | |
| NACOS_SERVER_IP | 多網卡下的自定義nacos服務器IP | ||
| SPRING_DATASOURCE_PLATFORM | standalone 支持 mysql | mysql/empty | empty |
| MYSQL_MASTER_SERVICE_HOST | mysql 主節點host | ||
| MYSQL_MASTER_SERVICE_PORT | mysql 主節點端口 | 3306 | |
| MYSQL_MASTER_SERVICE_DB_NAME | mysql 主節點數據庫 | ||
| MYSQL_MASTER_SERVICE_USER | 數據庫用戶名 | ||
| MYSQL_MASTER_SERVICE_PASSWORD | 數據庫密碼 | ||
| MYSQL_SLAVE_SERVICE_HOST | mysql從節點host | ||
| MYSQL_SLAVE_SERVICE_PORT | mysql從節點端口 | 3306 | |
| MYSQL_DATABASE_NUM | 數據庫數量 | 2 | |
| JVM_XMS | -Xms | 2g | |
| JVM_XMX | -Xmx | 2g | |
| JVM_XMN | -Xmn | 1g | |
| JVM_MS | -XX:MetaspaceSize | 128m | |
| JVM_MMS | -XX:MaxMetaspaceSize | 320m | |
| NACOS_DEBUG | 開啟遠程調試 | y/n | n |
| TOMCAT_ACCESSLOG_ENABLED | server.tomcat.accesslog.enabled | false |
訪問nacos
默認用戶名密碼都為nacos
ip:8848/nacos
測試
-
進入控制台,並添加測試配置


-
查看數據庫是否更新
數據庫配置沒有問題的話可以在表config_info中看到剛才新增的配置信息 -
獲取配置
curl -X GET "http://ip:8848/nacos/v1/cs/configs?dataId=test.yml&group=DEFAULT_GROUP"即可獲得配置
test=123,
