在Docker上用3个Nacos1.3容器+一个MySQL5和8容器+一个Nginx容器进行集群的具体操作(Nacos集群版)

2023-11-04

在Docker上用Nacos1.3容器连接MySQL5.6和8.0.18容器进入持久化的具体操作(Nacos单机版)

这里直接在linux中启动三个Nacos容器。

3个Nacos1.3容器+一个MySQL5.6容器+一个Nginx容器

配置MySQL5.6数据库

配置mysql数据库在上面那篇文章里有提到,这里就不再写了。
配置完数据库后启动数据库容器。

配置Nacos1.3

3个Nacos在同一台虚拟机上运行。

#启动第一台nacos(修改完后直接复制到linux上运行启动容器)
#NACOS_...开头的是配置nacos的信息,MYSQL_...是配置nacos连接的数据库的信息,JVM_...是配置nacos虚拟机的信息,根据你们自己的配置进行更改。
#10.211.55.17是我linux的IP地址
#注意,这里我的mysql5.6容器对外暴露的是3305端口。
#端口只能修改对外暴露的端口号,nacos里的8848不能修改,如果使用NACOS_SERVER_PORT去修改里面的端口号,会启动后无法访问。
docker run -d \
--name nacos_1 \
--hostname=nacos_1 \
-e MODE=cluster \
-e NACOS_SERVERS="10.211.55.17:3333 10.211.55.17:4444 10.211.55.17:5555" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=10.211.55.17 \
-e MYSQL_SERVICE_PORT=3305 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 3333:8848 nacos/nacos-server

#启动第二台nacos
docker run -d \
--name nacos_2 \
--hostname=nacos_2 \
-e MODE=cluster \
-e NACOS_SERVERS="10.211.55.17:3333 10.211.55.17:4444 10.211.55.17:5555" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=10.211.55.17 \
-e MYSQL_SERVICE_PORT=3305 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 4444:8848 nacos/nacos-server

#启动第三台nacos
docker run -d \
--name nacos_3 \
--hostname=nacos_3 \
-e MODE=cluster \
-e NACOS_SERVERS="10.211.55.17:3333 10.211.55.17:4444 10.211.55.17:5555" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=10.211.55.17 \
-e MYSQL_SERVICE_PORT=3305 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 5555:8848 nacos/nacos-server

在这里插入图片描述
http://10.211.55.17:3333/nacos/
在这里插入图片描述
http://10.211.55.17:4444/nacos/
在这里插入图片描述
http://10.211.55.17:5555/nacos/
在这里插入图片描述
并且里面也有我们在做单机持久化时保留的配置。

配置Nginx1.16.1

这里我拉取的镜像是Nginx1.16.1。

#拉取镜像
docker pull nginx:1.16.1

#启动nginx容器(对外暴露1111端口)
docker run -d --name nginx1.16.1 -p 1111:80 nginx:1.16.1

#进入nginx容器,修改配置
docker exec -it 容器ID /bin/bash
cd /etc/nginx
#因为nginx容器没有装vim,所以我们要先安装vim
apt-get update
apt-get install vim
#备份nginx.conf文件
cp nginx.conf nginx.conf.bk
#修改nginx.conf文件
vim nginx.conf

在这里插入图片描述

然后在http{…}里的#gzip on;下添加:

	upstream cluster{
		server 10.211.55.17:3333;
		server 10.211.55.17:4444;
		server 10.211.55.17:5555;
	}

	server{
		listen		80;
		server_name	10.211.55.17;
		
		location / {
			proxy_pass	http://cluster;
		}
	}

在这里插入图片描述

#退出nginx容器
exit

#重启nginx
docker restart 容器ID

在浏览器输入:http://10.211.55.17:1111/nacos/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新建一个配置:
在这里插入图片描述

#进入mysql5.6容器
docker exec -it 容器ID /bin/bash
#进入mysql
mysql -uroot -p123456
#切换到nacos_config数据库
use nacos_config;
查看config_info表
select * from config_info;

在这里插入图片描述

3个Nacos1.3容器+一个MySQL8.0.18容器+一个Nginx容器

配置MySQL8.0.18数据库

配置mysql数据库在上面那篇文章里有提到,这里就不再写了。
配置完数据库后启动数据库容器。

配置Nacos1.3

3个Nacos在同一台虚拟机上运行。

#启动第一台nacos(修改完后直接复制到linux上运行启动容器)
#NACOS_...开头的是配置nacos的信息,MYSQL_...是配置nacos连接的数据库的信息,JVM_...是配置nacos虚拟机的信息,根据你们自己的配置进行更改。
#10.211.55.17是我linux的IP地址
#端口只能修改对外暴露的端口号,nacos里的8848不能修改,如果使用NACOS_SERVER_PORT去修改里面的端口号,会启动后无法访问。
#和上面mysql5.6版的配置差不多
docker run -d \
--name nacos_11 \
--hostname=nacos_11 \
-e MODE=cluster \
-e NACOS_SERVERS="10.211.55.17:3333 10.211.55.17:4444 10.211.55.17:5555" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=10.211.55.17 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 3333:8848 nacos/nacos-server

#启动第二台nacos
docker run -d \
--name nacos_22 \
--hostname=nacos_22 \
-e MODE=cluster \
-e NACOS_SERVERS="10.211.55.17:3333 10.211.55.17:4444 10.211.55.17:5555" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=10.211.55.17 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 4444:8848 nacos/nacos-server

#启动第三台nacos
docker run -d \
--name nacos_33 \
--hostname=nacos_33 \
-e MODE=cluster \
-e NACOS_SERVERS="10.211.55.17:3333 10.211.55.17:4444 10.211.55.17:5555" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=10.211.55.17 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \
-e JVM_MS=32m \
-e JVM_MMS=80m \
-p 5555:8848 nacos/nacos-server




#然后把/home下的plugins目录分别传入到三个nacos容器中。
docker cp /home/plugins 容器ID:/home/nacos/
#把三个nacos容器都重启
docker restart 容器ID

这一步和上一篇文章单机版持久化的配置一样,没看的同学可以点这里看一下,mysql8的驱动也在上一篇文章里。

在这里插入图片描述
nginx容器是做mysql5.6版时启动的,因为配置一样,就没关掉,nginx配置也写在下面了,不用往上翻。

http://10.211.55.17:3333/nacos/
在这里插入图片描述
http://10.211.55.17:4444/nacos/
在这里插入图片描述
http://10.211.55.17:5555/nacos/
在这里插入图片描述
并且里面也有我们在做单机持久化时保留的配置。

配置Nginx1.16.1

这里我拉取的镜像是Nginx1.16.1。

#拉取镜像
docker pull nginx:1.16.1

#启动nginx容器(对外暴露1111端口)
docker run -d --name nginx1.16.1 -p 1111:80 nginx:1.16.1

#进入nginx容器,修改配置
docker exec -it 容器ID /bin/bash
cd /etc/nginx
#因为nginx容器没有装vim,所以我们要先安装vim
apt-get update
apt-get install vim
#备份nginx.conf文件
cp nginx.conf nginx.conf.bk
#修改nginx.conf文件
vim nginx.conf

在这里插入图片描述

然后在http{…}里的#gzip on;下添加:

	upstream cluster{
		server 10.211.55.17:3333;
		server 10.211.55.17:4444;
		server 10.211.55.17:5555;
	}

	server{
		listen		80;
		server_name	10.211.55.17;
		
		location / {
			proxy_pass	http://cluster;
		}
	}

在这里插入图片描述

#退出nginx容器
exit

#重启nginx
docker restart 容器ID

在浏览器输入:http://10.211.55.17:1111/nacos/
在这里插入图片描述
在这里插入图片描述

新建一个配置:
在这里插入图片描述

#进入mysql8.0.18容器
docker exec -it 容器ID /bin/bash
#进入mysql
mysql -uroot -p123456
#切换到nacos_config数据库
use nacos_config;
查看config_info表
select * from config_info;

在这里插入图片描述

nacos的配置终于结束了,搞得我心态都快崩了,4个视频用了2天,一直配置不成功,然后就一直在找资料,因为我用的mysql是8.0.18,就顺便把mysql5.6的配置也写了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Docker上用3个Nacos1.3容器+一个MySQL5和8容器+一个Nginx容器进行集群的具体操作(Nacos集群版) 的相关文章

随机推荐

  • Minio学习

    Minio Minio 是一个开源对象存储服务器 是 Amazon S3 云存储服务的一个替代品 你可以使用 Minio 来存储任何类型的数据 包括文本 图片 视频等各种类型的文件 同时还支持高级查询和管理功能 Minio 是一个非常灵活和
  • matplotlib: 绘制柱状图

    通过matplotlib绘制柱形图 第一个例子 from matplotlib import pyplot as plt y 10 11 12 11 9 8 13 10 创建y轴坐标 x list range 1 9 创建x轴坐标 创建x轴
  • C++字符串操作

    字符串操作 1 输入字符串 2 字符串输出 3 字符串长度 4 字符串分割 5 字符串比较 6 字符串赋值 7 判断字符串是否为空 8 字符串拼接 9 数组形式操作 10 单个字符操作 11 类型转换 1 输入字符串 字符串就是字符数组加上
  • 图像处理:双边滤波

    1 双边滤波 公式含义 q 输入的像素点 它代表上图中5 5的方框中其中的一个像素点 空间域核 图像像素域核 两个二维高斯函数 二维高斯函数的公式为 进行了一些小的改动 让他们更加符合我们的要求 这里给出 和 的公式 m n 输入像素q的横
  • 2019年总结:把能努力的都努力好,最终等待命运垂青

    悟以往已不见 知来者之可追 2019年离我们而去 这是我在CSDN写下的第七篇年终总结 回首 2013年我感悟到 一万年太久 只争朝夕 2014年本科毕业 我抒写下 回忆大学四年的得与失 2015年我选择回到贵州工作 感叹 无他 唯心向尔
  • Android进步之十四:使用jackon的ObjectMapper的writeValueAsString方法可以把java对象转化成json字符串

    如何把java对象转化成json字符串并打印出来呢 这里就用到了jackon的jar包 使用writeValuesAsString的方法就可以把对角转化成json字符串 下面通过一个demo 来仔细体会下如何去转化 1 先建一个javaBe
  • 关于ARM_math数学库的使用

    关于ARM math数学库的使用 ARM math好强大的好吧 话不多说 请看截图 各种数学库看到没有 好强大的说 其实使用这些写函数 最快上手的方法就是看官方手册 话不多说 上官方链接arm math库的官网 举个栗子 一般步骤 1 首先
  • STM32 GPIO 8种输入输出

    STM32 GPIO 8种输入输出 输入 浮空输入 上拉输入 下拉输入 模拟输入 输出 开漏输出 复用开漏输出 推挽输出 复用推挽输出 总结 参考 输入 1 浮空输入 GPIO Mode IN FLOATING 2 上拉输入 GPIO Mo
  • Ubuntu:C++远程连接Mysql

    1 安装mysql sudo apt get install update sudo apt get install mysql server libmysqlclient dev 2 登录mysql并进行配置 sudo mysql u r
  • 启动其他APK的Activity方法

    启动其他APK的Activity方法 有两个app 分别叫做App1和App2 App1包含两个Activity 分别叫做App1 A和App1 B 其中App1 A是入口Activity 也就是App1 A设置intent filter
  • .NET 5.0发布,你的代码保护工具还够用吗?

    NET是程序员比较钟爱的一款编程工具 但它有一个致命的缺点 编译好的程序集很容易反编译成源代码 一旦被反编译 软件开发者的辛苦劳动将付诸东流 选择一款合格的 NET保护工具是非常重要的 如今 NET 5 0已经发布 你是如何评价的呢 无论怎
  • 【教程汇总】如何选择合适的坐标系及投影

    总结 considerations for choosing the coordinate system map purpose map extent map orientation latitude range national coor
  • QC11 premier Edition 安装注意事项

    安装环境 Windows Server 2003 SQLServer 2005 系统环境需求可查看 https h10078 www1 hp com cda hpms display main hpms content jsp zn bto
  • 深圳拟重点扶持12大数字经济产业:区块链、金融科技在列

    伴随着数字经济的高速增长 深圳市数字经济产业发展迎来政策春风 近日 深圳市工业和信息化局发布了关于公开征求 深圳市数字经济产业创新发展实施方案 征求意见稿 下称 实施方案 意见的通告 表示将努力建成全国领先 全球一流的数字经济产业创新发展引
  • OpenCV—基本数据结构与示例

    https blog csdn net iracer article details 51292349 OpenCV中强大的Mat类型大家已经比较熟悉了 这里梳理一些在工程中其他经常用到的几种基本数据类型 包括 Vec Scalar Poi
  • MSP430F5529输出PWM

    msp430f5529产生4路PWM波 改变占空比从而改变电机 直流减速电机 的速度 驱动电机必然会用到驱动模块 接下来就介绍一下驱动模块 L298N L298N驱动 若要对直流电机进行PWM调速 需设置IN1和IN2 即确定电机的转动方向
  • Java集合-List

    一 List集合概述 java util List接口继承自Collection接口 是单列集合的一个重要分支 习惯性地会将实现了List接口的对象称为List集合 在List集合中允许出现重复的元素 所有的元素是以一种线性方式进行存储的
  • ic卡校验码计算软件_CRC校验码简介及CRC16的计算方法

    点击上方 嵌入式从0到1 选择 置顶 星标公众号 干货福利 第一时间送达 什么是CRC校验 CRC即循环冗余校验码 Cyclic Redundancy Check 是数据通信领域中最常用的一种查错校验码 其特征是信息字段和校验字段的长度可以
  • 法师康的工人--计蒜客

    三个法师康的工人每天早上6点到工厂开始到三条产品生产线上组装桔子手机 第一个工人在200时刻开始 从6点开始计时 以秒作为单位 在生产线上开始生产 一直到1000时刻 第二个工人 在700时刻开始 在1100时刻结束 第三个工人从1500时
  • 在Docker上用3个Nacos1.3容器+一个MySQL5和8容器+一个Nginx容器进行集群的具体操作(Nacos集群版)

    在Docker上用Nacos1 3容器连接MySQL5 6和8 0 18容器进入持久化的具体操作 Nacos单机版 这里直接在linux中启动三个Nacos容器 文章目录 3个Nacos1 3容器 一个MySQL5 6容器 一个Nginx容