最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

一.Nacos鏡像拉取及獨(dú)立模式

鏡像拉取命令詳解:

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

docker run: 運(yùn)行一個(gè) Docker 容器的命令。

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

-i: 保持標(biāo)準(zhǔn)輸入(stdin)打開。

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

-d: 在后臺(tái)運(yùn)行容器,并返回容器 ID。

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

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

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

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

-e MYSQL_SERVICE_PORT=3306: 設(shè)置環(huán)境變量 MYSQL_SERVICE_PORT 的值為 MySQL 服務(wù)的端口號(hào)。

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

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

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

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

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

--restart=always: 設(shè)置容器總是在停止時(shí)自動(dòng)重啟。

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

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

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

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

查看防火墻開放端口列表

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

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

二.Nacos集群部署

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

1.搭建集群

docker network create --subnet=172.20.0.1/16 my_net

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

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

docker network connect my_net m1

當(dāng)我們?yōu)閙1連接上網(wǎng)絡(luò)后,它不僅擁有原有的網(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

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

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

2.Nginx實(shí)現(xiàn)負(fù)載均衡

在我們的工作目錄中創(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

進(jìn)入到我們本機(jī)的C:\Windows\System32\drivers\etc目錄下

找到Host打開進(jìn)行修改你要映射的域名

輸入你的虛擬機(jī)IP以及域名

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

我們登錄到nacos中,看到三臺(tái)容器同時(shí)運(yùn)行時(shí)就說明完成負(fù)載均衡了

報(bào)錯(cuò)解決 

這個(gè)報(bào)錯(cuò)解釋為數(shù)據(jù)源配置出錯(cuò),也就是我們?cè)谂渲脭?shù)據(jù)庫(kù)時(shí)要與Nacos配置對(duì)應(yīng),多半存在與網(wǎng)段問題,我們可以通過命令查看nacos/mysql容器網(wǎng)段是否一致

docker inspect 容器名

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

在我配置MySQL容器時(shí)因?yàn)闆]有去指定網(wǎng)段而是默認(rèn)使用網(wǎng)橋模式,而我的Nacos容器指定網(wǎng)段為172.17.0.2,但是在這之前我還有一個(gè)容器占用了當(dāng)前網(wǎng)段,所以我使用配置Nacos的網(wǎng)段為172.17.0.3配置信息不一致,導(dǎo)致我的Nacos配置的數(shù)據(jù)源一直是之前的MySQL容器所以一直報(bào)錯(cuò)

解決措施

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

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

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

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

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

相關(guān)文章

  • Docker部署Nacos鏡像的方法(保姆級(jí)教程)

    Docker部署Nacos鏡像的方法(保姆級(jí)教程)

    本文主要介紹了Docker部署Nacos鏡像的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • docker 搭建單機(jī)PostgreSQL操作詳解

    docker 搭建單機(jī)PostgreSQL操作詳解

    本文通過實(shí)際案例操作演示了如何基于Docker搭建pg的完整過程,并補(bǔ)充了pg數(shù)據(jù)庫(kù)操作的常用命令和授權(quán)命令,感興趣的朋友一起看看吧
    2025-04-04
  • Docker啟動(dòng)PostgreSQL時(shí)創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)的解決方案

    Docker啟動(dòng)PostgreSQL時(shí)創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)的解決方案

    這篇文章主要介紹了Docker啟動(dòng)PostgreSQL時(shí)創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)的解決方案,重點(diǎn)給大家介紹如何把shell/sql腳本放入/docker-entrypoint-initdb.d/目錄中,讓容器啟動(dòng)的時(shí)候自動(dòng)執(zhí)行創(chuàng)建
    2021-06-06
  • Centos Docker1.12 遠(yuǎn)程Rest api訪問的配置方法

    Centos Docker1.12 遠(yuǎn)程Rest api訪問的配置方法

    這篇文章主要介紹了Centos Docker1.12 遠(yuǎn)程Rest api訪問的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-01-01
  • CentOS 7 Docker 連接 Docker Hub 失敗解決方案

    CentOS 7 Docker 連接 Docker Hub 

    本文記錄CentOS7系統(tǒng)中Docker無(wú)法連接Docker Hub的完整排查過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • Ubuntu使用Docker部署Redis并實(shí)現(xiàn)遠(yuǎn)程訪問本地?cái)?shù)據(jù)庫(kù)全過程

    Ubuntu使用Docker部署Redis并實(shí)現(xiàn)遠(yuǎn)程訪問本地?cái)?shù)據(jù)庫(kù)全過程

    這篇文章主要給大家介紹了關(guān)于Ubuntu使用Docker部署Redis并實(shí)現(xiàn)遠(yuǎn)程訪問本地?cái)?shù)據(jù)庫(kù)的相關(guān)資料,Redis遠(yuǎn)程連接是指通過網(wǎng)絡(luò)連接到Redis服務(wù)器,從而可以在不同的機(jī)器問和操作Redis數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2024-03-03
  • Docker中的harbor私有倉(cāng)庫(kù)詳解

    Docker中的harbor私有倉(cāng)庫(kù)詳解

    Harbor是VMware開源的企業(yè)級(jí)Docker鏡像倉(cāng)庫(kù),基于Docker?Registry擴(kuò)展了權(quán)限控制、審計(jì)日志、鏡像復(fù)制等功能,支持HTTP/HTTPS協(xié)議,通過docker-compose部署,包含7個(gè)容器組件,提供圖形化界面和RESTful?API管理
    2025-10-10
  • docker實(shí)現(xiàn)部署fastDFS服務(wù)過程

    docker實(shí)現(xiàn)部署fastDFS服務(wù)過程

    文章介紹了如何部署FastDFS、修改存儲(chǔ)容器的訪問端口以及拓展tracker.conf文件中的http.server_port配置,主要目的是監(jiān)控和管理Tracker服務(wù)器,但通常不需要特別關(guān)注,重點(diǎn)是Storage的Nginx端口配置,因?yàn)檫@是用戶訪問文件的入口
    2026-01-01
  • Docker 教程之私有倉(cāng)庫(kù)詳解

    Docker 教程之私有倉(cāng)庫(kù)詳解

    這篇文章主要介紹了Docker 教程之私有倉(cāng)庫(kù)詳解的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Docker啟動(dòng)MySQL報(bào)錯(cuò):/etc/mysql/conf.d目錄缺失的解決方案

    Docker啟動(dòng)MySQL報(bào)錯(cuò):/etc/mysql/conf.d目錄缺失的解決方案

    這篇文章主要介紹了MySQL容器啟動(dòng)失敗的原因及解決方法,MySQL在啟動(dòng)時(shí)會(huì)讀取/etc/mysql/conf.d/目錄下的配置文件,若該目錄不存在或未正確掛載,會(huì)導(dǎo)致初始化失敗,解決方法包括通過掛載目錄、使用Dockerfile創(chuàng)建目錄或臨時(shí)繞過檢查等,需要的朋友可以參考下
    2026-03-03

最新評(píng)論

临沧市| 南安市| 铜川市| 馆陶县| 金门县| 绥德县| 西青区| 杭锦旗| 东安县| 平遥县| 浮山县| 康保县| 镇沅| 五莲县| 湟中县| 会东县| 酒泉市| 祁连县| 巫山县| 昭觉县| 夏邑县| 陇西县| 青神县| 桂东县| 安龙县| 山西省| 监利县| 万年县| 旅游| 上犹县| 威信县| 延吉市| 会宁县| 无锡市| 济宁市| 台南县| 翁牛特旗| 隆昌县| 长汀县| 桂阳县| 洪江市|