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

Docker安裝Nacos容器并根據(jù)Nginx實(shí)現(xiàn)負(fù)載均衡

 更新時間:2024年01月25日 10:46:33   作者:Java方文山  
本文主要介紹了Docker安裝Nacos容器并根據(jù)Nginx實(shí)現(xiàn)負(fù)載均衡,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

安裝之前我們需要準(zhǔn)備一個mysql,當(dāng)前安裝方式是將數(shù)據(jù)持久化到數(shù)據(jù)庫中的,這里的部署先是單機(jī)模式后面再講集群模式

一、Nacos單機(jī)模式

1、MySQL容器安裝

1.1.創(chuàng)建mysql需要的掛載目錄

拉取mysql

docker pull mysql:5.7

mysql需要一個my.cnf的配置文件,目前我們還沒有所以需要在宿主機(jī)上創(chuàng)建一個將該文件放入到目錄中并且將我們的sql腳本放入到script文件中

mkdir  -p /mysql/{conf,data,script}

將我們的my.cnf文件放入到conf文件夾下,將sql腳本放入到script文件夾下

1.2.創(chuàng)建并運(yùn)行mysql容器

為了讓我們的容器之間可以相互訪問,所以我們創(chuàng)建一個網(wǎng)絡(luò)

docker network create --subnet 172.18.0.0/16 --gateway 172.18.1.1 net

 現(xiàn)在創(chuàng)建容器就需要為它指定我們的自定義網(wǎng)絡(luò) 

 docker run \
 --name m1 \
 -v /mysql/conf/my.cnf:/etc/my.cnf \
 -v /mysql/data:/var/lib/mysql \
 -v /mysql/script:/script \
 --privileged=true \
 -e MYSQL_ROOT_PASSWORD=123456 \
 --net net \
 --ip 172.18.0.1 \
 -d mysql/mysql-server:5.7

1.3.創(chuàng)建遠(yuǎn)程連接用戶并執(zhí)行sql腳本

進(jìn)入我們的mysql容器進(jìn)行登錄

docker exec -it m1 bash

mysql -uroot -p

創(chuàng)建所需的數(shù)據(jù)庫或者使用遠(yuǎn)程工具連接創(chuàng)建一下也可以,我這里就一張表就不那么麻煩了

create database nacos;

因為前面做了目錄掛載所以容器也會有這個腳本,切換到剛創(chuàng)建的數(shù)據(jù)庫中執(zhí)行sql

use nacos;
 
source /script/nacos-mysql.sql;

現(xiàn)在查看一下就會有很多的數(shù)據(jù)表了

最后我們現(xiàn)在需要一個賬戶進(jìn)行遠(yuǎn)程連接所以創(chuàng)建一個賬戶并賦予權(quán)限

grant all on *.* to root@'%' identified by '密碼'

沒有問題退出后記得重啟一下docker restart m1 

2、Nacos容器安裝

2.1.創(chuàng)建Nacos并啟動

 首先我們需要拉取一個Nacos的鏡像

docker pull nacos/nacos-server

運(yùn)行并啟動Nacos

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.0.1 \
-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 \
--net net \
--ip 172.18.0.2 \
nacos/nacos-server

 注意:這里的MYSQL打頭的配置都是填寫我們剛剛m1容器的信息 

2.2.開放防火墻端口

①開放端口

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

 ②刷新防火墻

firewall-cmd --reload

2.3.查看數(shù)據(jù)庫有無數(shù)據(jù) 

首先在瀏覽器訪問一下我們的Nacos,查看是否可以訪問

 如果可以訪問再查看相應(yīng)的數(shù)據(jù)庫,現(xiàn)在是沒有數(shù)據(jù)的

我們在nacos配置中心隨便創(chuàng)作一個數(shù)據(jù)再來查看一下就會有數(shù)據(jù)了,說明我們的nacos已經(jīng)完全生效了。

二、Nacos集群模式

先將我們剛剛所創(chuàng)建的nacos容器給刪除掉

docker rm -f nacos

1.創(chuàng)建集群Nacos

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.3:8848 172.18.0.4:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.0.1 \
-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 nacos01 \
--restart=always \
--net net \
--ip 172.18.0.2 \
nacos/nacos-server

 指定Nacos為集群模式cluster并設(shè)置除自己以外的Nacos地址

這時候我們訪問nacos可以看到這里的模式也變成了cluster

 現(xiàn)在我們將剩下的兩臺nacos容器搞出來

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.2:8848 172.18.0.4:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.0.1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos02 \
--restart=always \
--net net \
--ip 172.18.0.3 \
nacos/nacos-server
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.2:8848 172.18.0.3:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.0.1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos03 \
--restart=always \
--net net \
--ip 172.18.0.4 \
nacos/nacos-server

看似我有三臺nacos容器實(shí)際上我們只有一臺,因為只有一臺進(jìn)行了端口映射 

2.負(fù)載均衡Nacos 

創(chuàng)建nginx的配置文件目錄并將配置文件放入

 mkdir -p  /soft/nginx/conf.d

upstream nacosList {
    server nacos01:8848 weight=1;
    server nacos02:8848 weight=2;
    server nacos03:8848 weight=2;
}

server {

    listen  80;
    server_name  www.zkingedu.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;
    }

}

創(chuàng)建nginx容器

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

現(xiàn)在我們訪問一下看看

可以看到我們?nèi)サ袅硕丝谔?848,證明我們現(xiàn)在是通過nginx負(fù)載均衡進(jìn)行訪問的 

三、注意事項

我們在發(fā)布配置的時候可能會出現(xiàn)以下情況

建表SQL語句應(yīng)查看對應(yīng)Nacos Servertag版本,我用的是1.4.0的SQL所以產(chǎn)生問題。

按照官方文檔重新建表,或直接補(bǔ)全列: 

-- config_info 表
alter table config_info add encrypted_data_key varchar(255);

-- his_config_info 表
alter table his_config_info add encrypted_data_key varchar(255);

 到此這篇關(guān)于Docker安裝Nacos容器并根據(jù)Nginx實(shí)現(xiàn)負(fù)載均衡的文章就介紹到這了,更多相關(guān)Docker Nacos負(fù)載均衡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker搭建CMS點(diǎn)播系統(tǒng)帶播放器功能

    docker搭建CMS點(diǎn)播系統(tǒng)帶播放器功能

    熟悉docker的童鞋都知道,安裝是非常的便利的,也可以在線體驗的,今天通過本文給大家介紹docker搭建CMS點(diǎn)播系統(tǒng)帶播放器功能,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Docker的文件系統(tǒng)映射:主機(jī)與容器間目錄的雙向映射詳解

    Docker的文件系統(tǒng)映射:主機(jī)與容器間目錄的雙向映射詳解

    通過Docker的目錄映射功能,實(shí)現(xiàn)主機(jī)與容器間的數(shù)據(jù)共享與持久化存儲,使用-v或--mount參數(shù)在運(yùn)行時設(shè)置主機(jī)與容器目錄映射,或通過DockerCompose配置文件實(shí)現(xiàn)自動化,此功能提升數(shù)據(jù)管理靈活性和效率
    2024-11-11
  • docker images導(dǎo)入導(dǎo)出方式

    docker images導(dǎo)入導(dǎo)出方式

    這篇文章主要介紹了docker images導(dǎo)入導(dǎo)出方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker中的COPY指令和ADD指令詳解

    Docker中的COPY指令和ADD指令詳解

    COPY?和?ADD?都是?Dockerfile?中的指令,有著類似的作用。它們允許我們將文件從特定位置復(fù)制到?Docker?鏡像中,這篇文章主要介紹了Docker中的COPY指令和ADD指令,需要的朋友可以參考下
    2022-06-06
  • docker中mysql數(shù)據(jù)庫密碼修改方法

    docker中mysql數(shù)據(jù)庫密碼修改方法

    長時間使用非關(guān)系型數(shù)據(jù)庫MongoDB近期遇到突然想使用mysql卻發(fā)現(xiàn)mysql密碼忘記了,下面這篇文章主要給大家介紹了關(guān)于docker中mysql數(shù)據(jù)庫密碼修改方法的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Docker?配置容器固定IP的方法

    Docker?配置容器固定IP的方法

    這篇文章主要介紹了Docker?配置容器固定IP,下面使用docker自帶的network實(shí)現(xiàn)固定ip分配,并且重啟不會消失,通過綁定步驟給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-04-04
  • Docker 搭建私有倉庫(registry、harbor)

    Docker 搭建私有倉庫(registry、harbor)

    這篇文章主要介紹了Docker 搭建私有倉庫(registry、harbor),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Docker容器進(jìn)入的4種方式(小結(jié))

    Docker容器進(jìn)入的4種方式(小結(jié))

    本文主要介紹了Docker容器進(jìn)入的4種方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • cgroup?blkio子系統(tǒng)對容器的讀寫限速詳解

    cgroup?blkio子系統(tǒng)對容器的讀寫限速詳解

    這篇文章主要為大家介紹了cgroup?blkio子系統(tǒng)對容器的讀寫限速詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • docker 容器數(shù)據(jù)在盤與盤之間遷移方法

    docker 容器數(shù)據(jù)在盤與盤之間遷移方法

    這篇文章主要介紹了docker 容器數(shù)據(jù)在盤與盤之間遷移方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04

最新評論