centos7 在docker中安裝nacos 2.0.0 存儲用mysql 8


Nacos是阿里開源的一個統一配置/注冊中心的開源軟件。
官網:https://nacos.io/
代碼:https://github.com/alibaba/nacos
阿里雲官網有一個現成版本可以免安裝直接用(缺點:每個空間限制200個key) https://acmnext.console.aliyun.com/public

注意:nacos>=1.3.1的版本才開始支持mysql 8.0.x

配置建議:實際運行內存預計使用1.2G左右,建議選擇內存大一點的服務器(2G+)。
實測2G內存的服務器裝了其他的東西,安裝nacos 2.0導致CPU跑滿,主要卡在GC這,換個內存大的服務器(8G)正常運行

一、說明下2.0和1.4版本的的差異(有升級需求的關注下,沒有忽略)

1.1 SQL數據結構上,時間類型的默認值有調整,如下圖(左邊是2.0右邊是1.4)

1.2 索引有變化

1.3 docker容器里的配置文件application.properties對比沒有變化

二、創建nacos存儲的數據庫

sql鏈接地址:nacos-db.sql ,也可在github發布的壓縮包 路徑nacos\conf\nacos-mysql.sql里找到
執行sql腳本后如下圖:

三、創建宿主機掛載目錄

主要用於存放nacos日志

mkdir -p /data/nacos/logs/

四、獲取nacos鏡像

docker search nacos

指定版本拉取鏡像的,查看tag https://hub.docker.com/r/nacos/nacos-server/tags?page=1&ordering=last_updated
docker pull nacos/nacos-server:2.0.0

五、運行容器

官方docker參考:https://nacos.io/zh-cn/docs/quick-start-docker.html
注意:不同nacos版本可能參數有變化,進入容器docker exec -it nacos bash查看cat /home/nacos/conf/application.properties里的參數名
MYSQL_SERVICE_DB_PARAM:數據庫鏈接字符串后的參數,默認值:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
傳環境變量運行nacos單機模式(修改下面的數據庫鏈接):

docker run -d \
-v /data/nacos/logs:/home/nacos/logs \
-e TZ="Asia/Shanghai" \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=數據庫IP地址 \
-e MYSQL_SERVICE_PORT=數據庫端口 \
-e MYSQL_SERVICE_USER=數據庫賬戶 \
-e MYSQL_SERVICE_PASSWORD=數據庫密碼 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_DB_PARAM= \
-e NACOS_APPLICATION_PORT=8848 \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server:2.0.0

查看運行的nacos容器docker ps -a

如果發生錯誤,無法啟動nacos,查看容器日志docker logs -f --tail=50 nacos 或者查看start.outcat /data/nacos/logs/start.out
查看docker運行狀態docker stats,下圖第一個nacos是2.0的版本,下面是1.4的版本

配置好數據庫存儲,即使刪除docker容器再重開,配置依然在,便於后續升級nacos版本!!!

六、配置域名 nginx等

nginx參考配置如下,默認賬號密碼:nacos

    server {
        listen       80;
        server_name  config.yuming.com;    # 綁定域名
        location / {
          rewrite ^ http://$server_name/nacos redirect;
        }
        location /nacos {
          proxy_pass http://localhost:8848;             #反向代理地址+端口
          proxy_set_header Host $http_host;             #設置Host
          proxy_set_header X-Real-Ip $remote_addr;      #設置客戶端遠程地址
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-NginX-Proxy true;
        }
    }


六、sdk接入說明

鏈接:https://github.com/nacos-group/

語言 SDK
c++ https://github.com/nacos-group/nacos-sdk-cpp
c# https://github.com/nacos-group/nacos-sdk-csharp
nodejs https://github.com/nacos-group/nacos-sdk-nodejs
go https://github.com/nacos-group/nacos-sdk-go
pyhton https://github.com/nacos-group/nacos-sdk-python


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM