欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Docker中的nacos集群部署方式

 更新時間:2024年01月22日 10:24:20   作者:ChatYU.  
在 Docker 中使用 Nacos,你可以通過拉取官方提供的 Docker 鏡像并運行容器的方式來快速部署,這篇文章主要介紹了Docker中的nacos集群部署方式,感興趣的朋友一起看看吧

前言

Nacos 是一個開源的注冊中心和配置中心,用于實現(xiàn)微服務架構(gòu)中的服務發(fā)現(xiàn)、服務治理和動態(tài)配置管理。在 Docker 中使用 Nacos,你可以通過拉取官方提供的 Docker 鏡像并運行容器的方式來快速部署 

一.Nacos鏡像拉取及獨立模式

鏡像拉取命令詳解:

當前命令為創(chuàng)建Nacos容器(沒有Nacos鏡像會自動拉取Nacos鏡像)

docker run: 運行一個 Docker 容器的命令。

-itd: 這是參數(shù)的一部分,其中:

-i: 保持標準輸入(stdin)打開。

-t: 為容器分配一個偽終端(pseudo-TTY)。

-d: 在后臺運行容器,并返回容器 ID。

-e PREFER_HOST_MODE=ip: 設置環(huán)境變量 PREFER_HOST_MODE 的值為 ip,表示使用 IP 模式。

-e MODE=standalone: 設置環(huán)境變量 MODE 的值為 standalone,表示以獨立模式運行 Nacos。

-e SPRING_DATASOURCE_PLATFORM=mysql: 設置環(huán)境變量 SPRING_DATASOURCE_PLATFORM 的值為 mysql,指定 Nacos 使用 MySQL 數(shù)據(jù)庫作為存儲后端。

-e MYSQL_SERVICE_HOST=172.17.0.2: 設置環(huán)境變量 MYSQL_SERVICE_HOST 的值為 MySQL 服務的主機 IP 地址。

-e MYSQL_SERVICE_PORT=3306: 設置環(huán)境變量 MYSQL_SERVICE_PORT 的值為 MySQL 服務的端口號。

-e MYSQL_SERVICE_DB_NAME=nacos: 設置環(huán)境變量 MYSQL_SERVICE_DB_NAME 的值為 MySQL 數(shù)據(jù)庫的名稱,這里為 nacos。

-e MYSQL_SERVICE_USER=root: 設置環(huán)境變量 MYSQL_SERVICE_USER 的值為 MySQL 連接的用戶名,這里為 root。

-e MYSQL_SERVICE_PASSWORD=123456: 設置環(huán)境變量 MYSQL_SERVICE_PASSWORD 的值為 MySQL 連接的密碼,這里為 123456。

-p 8848:8848: 將容器內(nèi)部的 8848 端口映射到主機的 8848 端口,允許通過主機訪問 Nacos。

--name nacos: 為容器指定一個名稱,這里為 nacos。

--restart=always: 設置容器總是在停止時自動重啟。

nacos/nacos-server: 指定要運行的 Docker 鏡像,這里是 Nacos 官方提供的 nacos-server 鏡像。

這個命令的目的是在 Docker 中啟動一個 Nacos 服務,配置使用 MySQL 數(shù)據(jù)庫作為后端存儲,并且在容器內(nèi)部的 8848 端口上提供服務

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.17.0.2 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server

拉取鏡像后我們需要開放8848端口,并刷新防火墻規(guī)則

開放端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent 

 刷新防火墻規(guī)則

firewall-cmd --reload

同時我們可以通過查看防火墻開放端口列表是否開啟

查看防火墻開放端口列表

firewall-cmd --zone=public --list-ports

當我們進入到nacos內(nèi)網(wǎng)控制臺說明NACOS創(chuàng)建成功了

二.Nacos集群部署

對比上面我們使用的是獨立模式(standalone),當我們需要將獨立模式改成集群模式時,要將環(huán)境遍歷MODE設置為cluster

1.搭建集群

docker network create --subnet=172.20.0.1/16 my_net

為原有Mysql容器再連接一個網(wǎng)絡

my_net為自定義網(wǎng)絡名 m1為容器名

docker network connect my_net m1

當我們?yōu)閙1連接上網(wǎng)絡后,它不僅擁有原有的網(wǎng)段還有剛剛連接的網(wǎng)段

創(chuàng)建集群部署容器 

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster\
-e NACOS_SERVERS="172.20.0.102:8848 172.20.0.103:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848 \
--name nacos2 \
--net my_net \
--ip 172.20.0.101 \
--restart=always \
nacos/nacos-server

為測試完成集群部署,我們只需要將容器名--name 容器名和網(wǎng)段ip進行修改,分別創(chuàng)建三臺nacos

雖然我們的三臺nacos搭建完成了,但是我們只有一個或者兩個容器能運行,所以要完成多臺同時運行,還是要借助nginx實現(xiàn)負載均衡

2.Nginx實現(xiàn)負載均衡

在我們的工作目錄中創(chuàng)建Niginx目錄及所需文件夾

mkdir -p nginx/{conf.d}
cd /nginx/conf.d

 新建default.conf 配置文件放在conf.d目錄中

upstream nacosList {
    server nacos1:8848 weight=1;
    server nacos2:8848 weight=1;
    server nacos3:8848 weight=1;
}
server {
    listen  80;
    server_name  www.ChatYULin.com;
    location / {
        root   /etc/nginx/html/;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location /nacos {
        proxy_pass  http://nacosList;
    }
    location /nacos {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }
}

 創(chuàng)建nginx容器

docker run -itd \
--name nginx \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-p 80:80 \
--net my_net \
nginx

進入到我們本機的C:\Windows\System32\drivers\etc目錄下

找到Host打開進行修改你要映射的域名

輸入你的虛擬機IP以及域名

當我們創(chuàng)建并運行完nginx容器后利用可以使用自定義域名訪問到說明我們的域名映射和nginx容器已完成

我們登錄到nacos中,看到三臺容器同時運行時就說明完成負載均衡了

報錯解決 

這個報錯解釋為數(shù)據(jù)源配置出錯,也就是我們在配置數(shù)據(jù)庫時要與Nacos配置對應,多半存在與網(wǎng)段問題,我們可以通過命令查看nacos/mysql容器網(wǎng)段是否一致

docker inspect 容器名

Nacos網(wǎng)段必須要與Mysql網(wǎng)段一致

在我配置MySQL容器時因為沒有去指定網(wǎng)段而是默認使用網(wǎng)橋模式,而我的Nacos容器指定網(wǎng)段為172.17.0.2,但是在這之前我還有一個容器占用了當前網(wǎng)段,所以我使用配置Nacos的網(wǎng)段為172.17.0.3配置信息不一致,導致我的Nacos配置的數(shù)據(jù)源一直是之前的MySQL容器所以一直報錯

解決措施

解決思路:兩者要在同一個網(wǎng)段

1.自定義網(wǎng)絡為MySQL容器指定網(wǎng)段

2.為Nacos容器指定網(wǎng)段

3.像nacos集群一樣創(chuàng)建自定義網(wǎng)絡然后連接MySQL容器

到此這篇關于詳解Docker中的nacos集群部署的文章就介紹到這了,更多相關Docker nacos集群部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 教你使用Docker搭建gitlab社區(qū)漢化版的詳細過程

    教你使用Docker搭建gitlab社區(qū)漢化版的詳細過程

    很多朋友不太清楚使用Docker搭建gitlab社區(qū)漢化版的過程,總是容易出現(xiàn)錯誤,今天小編抽空給大家分享使用Docker搭建gitlab社區(qū)漢化版的詳細過程,一起看看吧
    2021-09-09
  • docker生命周期管理和鏡像管理命令詳解

    docker生命周期管理和鏡像管理命令詳解

    Docker通過容器技術(shù)提供了一種輕量級、快速部署和可移植的應用程序運行環(huán)境,極大地簡化了應用程序的部署和管理過程,提高了開發(fā)和運維的效率,這篇文章主要介紹了docker生命周期管理和鏡像管理命令,需要的朋友可以參考下
    2023-08-08
  • Docker部署安裝Nginx的詳細過程

    Docker部署安裝Nginx的詳細過程

    Nginx 是一款高性能的 web 服務器、反向代理服務器以及電子郵件(IMAP/POP3/SMTP)代理服務器,這篇文章主要介紹了Docker部署安裝Nginx,需要的朋友可以參考下
    2024-04-04
  • Docker 部署開源遠程桌面工具RustDesk的使用

    Docker 部署開源遠程桌面工具RustDesk的使用

    本文介紹了RustDesk開源遠程桌面工具的Docker部署使用方法,支持自建服務器,可實現(xiàn)安全私密的遠程控制電腦,具有一定的參考價值,感興趣的可以了解一下
    2024-10-10
  • 詳解Docker 端口映射與容器互聯(lián)

    詳解Docker 端口映射與容器互聯(lián)

    這篇文章主要介紹了詳解Docker 端口映射與容器互聯(lián) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Docker清理命令之如何刪除所有的鏡像和容器

    Docker清理命令之如何刪除所有的鏡像和容器

    這篇文章主要介紹了Docker清理命令之如何刪除所有的鏡像和容器問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • docker: invalid reference format.問題

    docker: invalid reference format.問題

    這篇文章主要介紹了docker: invalid reference format.問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本)

    docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本)

    本文主要介紹了docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • Docker安裝oracle數(shù)據(jù)庫最新版教程

    Docker安裝oracle數(shù)據(jù)庫最新版教程

    這篇文章主要介紹了如何在Docker中安裝和配置Oracle?11g數(shù)據(jù)庫,包括安裝Docker、拉取Oracle鏡像、創(chuàng)建容器、進入容器配置、設置環(huán)境變量、創(chuàng)建軟連接、修改用戶密碼、重啟數(shù)據(jù)庫以及使用Navicat進行連接測試,需要的朋友可以參考下
    2025-02-02
  • 基于alpine用dockerfile創(chuàng)建的tomcat鏡像的實現(xiàn)

    基于alpine用dockerfile創(chuàng)建的tomcat鏡像的實現(xiàn)

    這篇文章主要介紹了基于alpine用dockerfile創(chuàng)建的tomcat鏡像的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12

最新評論