Docker一鍵極速安裝Nacos,并配置數(shù)據(jù)庫!

1 部署方式

1.1 DockerHub

javaedge@JavaEdgedeMac-mini ~ % docker run --name nacos \
-e MODE=standalone \
-e JVM_XMS=128m \
-e JVM_XMX=128m \
-e JVM_XMN=64m \
-e JVM_MS=64m \
-e JVM_MMS=64m \
-p 8848:8848 \
-d nacos/nacos-server:v2.2.3
a624c64a1a25ad2d15908a67316d53212402c5cd340ad87cbcff0ad22a712388

# 自啟動(dòng)
javaedge@JavaEdgedeMac-mini ~ % docker update nacos --restart=always
nacos
javaedge@JavaEdgedeMac-mini ~ %

1.2 官網(wǎng)

1.2.1 Clone 項(xiàng)目

git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

1.2.2 單機(jī)模式

Derby:

docker-compose -f example/standalone-derby.yaml up

單機(jī)模式的MySQL:

MySQL5.7:

docker-compose -f example/standalone-mysql-5.7.yaml up

MySQL8:

docker-compose -f example/standalone-mysql-8.yaml up

1.2.3 集群模式

docker-compose -f example/cluster-hostname.yaml up 

2 基本操作

服務(wù)注冊

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

服務(wù)發(fā)現(xiàn)

curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'

發(fā)布配置

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"

獲取配置

  curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

3 常見屬性配置

屬性名稱 描述 選項(xiàng)
MODE 系統(tǒng)啟動(dòng)方式: 集群/單機(jī) cluster/standalone默認(rèn) cluster
NACOS_SERVERS 集群地址 p1:port1空格ip2:port2 空格ip3:port3
PREFER_HOST_MODE 支持IP還是域名模式 hostname/ip 默認(rèn) ip
NACOS_SERVER_PORT Nacos 運(yùn)行端口 默認(rèn) 8848
NACOS_SERVER_IP 多網(wǎng)卡模式下可以指定IP
SPRING_DATASOURCE_PLATFORM 單機(jī)模式下支持MYSQL數(shù)據(jù)庫 mysql / 空 默認(rèn):空
MYSQL_SERVICE_HOST 數(shù)據(jù)庫 連接地址
MYSQL_SERVICE_PORT 數(shù)據(jù)庫端口 默認(rèn) : 3306
MYSQL_SERVICE_DB_NAME 數(shù)據(jù)庫庫名
MYSQL_SERVICE_USER 數(shù)據(jù)庫用戶名
MYSQL_SERVICE_PASSWORD 數(shù)據(jù)庫用戶密碼
MYSQL_SERVICE_DB_PARAM 數(shù)據(jù)庫連接參數(shù) default : characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
MYSQL_DATABASE_NUM 數(shù)據(jù)庫編號 默認(rèn) :1
JVM_XMS -Xms 默認(rèn) :1g
JVM_XMX -Xmx 默認(rèn) :1g
JVM_XMN -Xmn 默認(rèn) :512m
JVM_MS -XX:MetaspaceSize 默認(rèn) :128m
JVM_MMS -XX:MaxMetaspaceSize 默認(rèn) :320m
NACOS_DEBUG 是否開啟遠(yuǎn)程DEBUG y/n 默認(rèn) :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled 默認(rèn) :false
NACOS_AUTH_SYSTEM_TYPE 權(quán)限系統(tǒng)類型選擇,目前只支持nacos類型 默認(rèn) :nacos
NACOS_AUTH_ENABLE 是否開啟權(quán)限系統(tǒng) 默認(rèn) :false
NACOS_AUTH_TOKEN_EXPIRE_SECONDS token 失效時(shí)間 默認(rèn) :18000
NACOS_AUTH_TOKEN token 默認(rèn) :SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_CACHE_ENABLE 權(quán)限緩存開關(guān) ,開啟后權(quán)限緩存的更新默認(rèn)有15秒的延遲 默認(rèn) : false
MEMBER_LIST 通過環(huán)境變量的方式設(shè)置集群地址 例子:192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
EMBEDDED_STORAGE 是否開啟集群嵌入式存儲(chǔ)模式 embedded 默認(rèn) : none
NACOS_AUTH_CACHE_ENABLE nacos.core.auth.caching.enabled default : false
NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE nacos.core.auth.enable.userAgentAuthWhite default : false
NACOS_AUTH_IDENTITY_KEY nacos.core.auth.server.identity.key default : serverIdentity
NACOS_AUTH_IDENTITY_VALUE nacos.core.auth.server.identity.value default : security
NACOS_SECURITY_IGNORE_URLS nacos.security.ignore.urls default : /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**

4 Nacos + Grafana + Prometheus

參考:Nacos監(jiān)控指南

Note: grafana創(chuàng)建一個(gè)新數(shù)據(jù)源時(shí),數(shù)據(jù)源地址必須是 http://prometheus:9090

5 訪問Dashboard

localhost:8848/nacos,可見:

默認(rèn)賬戶 nacos/nacos:

占用內(nèi)存很高:

CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O     PIDS
a624c64a1a25   nacos     1.70%     920.2MiB / 7.675GiB   11.71%    76.2kB / 5.08MB   0B / 15.9MB   259
^C%

6 應(yīng)用集成

引入依賴

<!-- 引入nacos注冊中心 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

客戶端注冊

spring:
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

作者簡介:魔都國企技術(shù)專家兼架構(gòu),多家大廠后臺(tái)研發(fā)和架構(gòu)經(jīng)驗(yàn),負(fù)責(zé)復(fù)雜度極高業(yè)務(wù)系統(tǒng)的模塊化、服務(wù)化、平臺(tái)化研發(fā)工作。具有豐富帶團(tuán)隊(duì)經(jīng)驗(yàn),深厚人才識別和培養(yǎng)的積累。

參考:

本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容