描述:通過docker在單機器上安裝3臺nacos做集羣,持久化操作使用單機mysql(暫未做主從)
docker安裝nacos詳細信息可參考官方文檔:
https://github.com/nacos-group/nacos-docker/blob/master/example/cluster-embedded.yaml(github)
https://nacos.io/zh-cn/docs/quick-start-docker.html(官網文檔)
nacos用mysql做持久化的SQL語句(來自官方):https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
使用docker安裝單機版nacos : https://blog.csdn.net/qq_34497272/article/details/107129287
使用docker-compose進行安裝,若未安裝docker-compose可查考:https://blog.csdn.net/qq_34497272/article/details/107135174
Linux系統未安裝git,所以所需文件均爲個人新建,若有git可以自行在官網拉取
一、新建cluster-hostname.yaml(若拉取官網代碼則不需要新建)
個人將該文件放在了根目錄
touch cluster-hostname.yaml
以下未官網截圖,若已經拉取的官網代碼,則可以找到改文件
二、新建custom.properties(若拉取官網代碼則不需要新建)
個人將該文件放在了根目錄
touch custom.properties
在該文件輸入 management.endpoints.web.exposure.include=* ,或者將官網的全部複製進去
以下爲官網代碼:
三、編輯yaml文件
若使用官網下載的代碼則需要將cluster-hostname.yaml下的部分內容對照修改,不要將下方yaml直接全盤複製
參數說明(可查看官網文檔:地址文章開頭有標註):
注意事項:
1、image鏡像按照個人實際配置
2、hostname和NACOS_SERVERS中保持一致
3、容器name區分開
4、持久化的數據庫根據個人實際配置(持久化目前支持mysql,對應的SQL文檔上面有官方地址,直接執行就好了)
5、/custom.properties,這個文件放在了根目錄。這個地址按照個人實際填寫。若使用官方代碼則無需操作
version: "3"
services:
nacos1:
hostname: nacos1
container_name: nacos1 # 容器名
image: nacos/nacos-server:latest #鏡像
environment:
- MODE=cluster # 集羣模式
- NACOS_SERVERS=nacos1:8848 nacos2:8849 nacos3:8850
- PREFER_HOST_MODE=hostname
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_MASTER_SERVICE_HOST=192.168.0.130 # mysql數據庫對應的ip
- MYSQL_MASTER_SERVICE_PORT=3306 # mysql數據庫對應的端口
- MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
- MYSQL_MASTER_SERVICE_USER=root
- MYSQL_MASTER_SERVICE_PASSWORD=123456
- MYSQL_DATABASE_NUM=1 # 數據源爲1個
- JVM_XMS=128m
- JVM_XMX=128m
- JVM_XMN=128m
volumes:
- ./cluster-logs/nacos1:/home/nacos/logs
- /custom.properties:/home/nacos/init.d/custom.properties # 注custom.properties放在了根目錄,所以爲/custom.properties,此處地址需要自行配置
ports:
- "8848:8848"
- "9555:9555"
restart: on-failure
nacos2:
hostname: nacos2
image: nacos/nacos-server:latest #鏡像
container_name: nacos2 #容器名
environment:
- MODE=cluster # 集羣模式
- NACOS_SERVERS=nacos1:8848 nacos2:8849 nacos3:8850
- PREFER_HOST_MODE=hostname
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_MASTER_SERVICE_HOST=192.168.0.130 # mysql數據庫對應的ip
- MYSQL_MASTER_SERVICE_PORT=3306 # mysql數據庫對應的端口
- MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
- MYSQL_MASTER_SERVICE_USER=root
- MYSQL_MASTER_SERVICE_PASSWORD=123456
- MYSQL_DATABASE_NUM=1 # 數據源爲1個
- JVM_XMS=128m
- JVM_XMX=128m
- JVM_XMN=128m
volumes:
- ./cluster-logs/nacos2:/home/nacos/logs
- /custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8849:8848"
restart: on-failure
nacos3:
hostname: nacos3
image: nacos/nacos-server:latest #鏡像
container_name: nacos3
environment:
- MODE=cluster # 集羣模式
- NACOS_SERVERS=nacos1:8848 nacos2:8849 nacos3:8850
- PREFER_HOST_MODE=hostname
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_MASTER_SERVICE_HOST=192.168.0.130 # mysql數據庫對應的ip
- MYSQL_MASTER_SERVICE_PORT=3306 # mysql數據庫對應的端口
- MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
- MYSQL_MASTER_SERVICE_USER=root
- MYSQL_MASTER_SERVICE_PASSWORD=123456
- MYSQL_DATABASE_NUM=1 # 數據源爲1個
- JVM_XMS=128m
- JVM_XMX=128m
- JVM_XMN=128m
volumes:
- ./cluster-logs/nacos3:/home/nacos/logs
- /custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8850:8848"
restart: on-failure
四、啓動
使用以下命令嘗試啓動,窗口關閉啓動的鏡像則會關閉,但是可以看到啓動日誌
docker-compose -f cluster-hostname.yaml up
若測試正常則可以進行後臺啓動
docker-compose -f cluster-hostname.yaml up -d
執行docker-compose -f cluster-hostname.yaml up,正常啓動的日誌:
六、查看容器是否啓動
docker ps
————————————————
版權聲明:本文爲CSDN博主「郭咖啡」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_34497272/article/details/107135121