最终Docker6:nacos集群部署

目录

 mysql容器构建

1.进入soft 文件夹,创建mysql文件夹

2.进入conf文件夹 放入my.conf 配置文件

3.运行mysql容器

4.进入script文件夹 导入 sql文件

5.进入mysql 容器 并登录

6.创建nacos 数据库并使用,运行nacos.sql文件

7.授予用户所有权限

部署单个nacos,连接mysql

1.下载nacos镜像

2.部署单个nacos

3. 开启nacos

4.打开防火墙开启nacos 所在8848 端口号

5.查看nacos 是否运行成功

6.登录nacos网址 

7.再次进入mysql 查看生成的表中是否有数据

8.在nacos 网址中生成一个配置文件 在一次查询数据表中 会发现生成了一条数据

9.删除nacos 重新部署一个nacos 再次查询数据库表数据,会发现数据还在实现nacos数据的持久化

部署nacos集群,实现负载均衡

1.创建自定义网络

2.将刚才部署的nacos连接到自定义网络中

3.查看刚才部署的nacos 网络中多了一条自定义网络(网桥+自定义网络)

4.部署集群nacos

5. 查看nacos01 部署的第一台nacos的运行情况

6.再次部署两台nacos

7.部署nginx实现负载均衡

8.编辑default.conf 文件 放入以下内容

9.运行nginx 部署到自定义网络中


 mysql容器构建


1.进入soft 文件夹,创建mysql文件夹

cd /softmkdir -p mysql/{conf,data,script}

2.进入conf文件夹 放入my.conf 配置文件

cd /mysql/conf

3.运行mysql容器

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

4.进入script文件夹 导入 sql文件

cd ../ cd /soft/mysql/script

5.进入mysql 容器 并登录

docker exec -it m1 bashmysql -uroot -p

6.创建nacos 数据库并使用,运行nacos.sql文件

create database nacosuse nacossource /script/nacos/nacos-mysql.sql

7.授予用户所有权限

grant all on *.* to dbl@'%' identified by '123456';

部署单个nacos,连接mysql


1.下载nacos镜像

#进入根目录 下载nacos 镜像
docker pull nacos/nacos-server

2.部署单个nacos

docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_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

-itd 中的 d表示后台运行

3. 开启nacos

docker restart m1

4.打开防火墙开启nacos 所在8848 端口号

firewall -cmd --list-port 

5.查看nacos 是否运行成功

docker logs -f nacos

6.登录nacos网址 

7.再次进入mysql 查看生成的表中是否有数据

docker exec -it m1 bashuse nacosselect * from config_info

8.在nacos 网址中生成一个配置文件 在一次查询数据表中 会发现生成了一条数据

9.删除nacos 重新部署一个nacos 再次查询数据库表数据,会发现数据还在实现nacos数据的持久化

docker rm -f nacos#重新运行一个nacos
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_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

部署nacos集群,实现负载均衡


1.创建自定义网络

docker network create  --subnet=172.20.0.1/16 my_net

2.将刚才部署的nacos连接到自定义网络中

docker network connect my_net m1

3.查看刚才部署的nacos 网络中多了一条自定义网络(网桥+自定义网络)

4.部署集群nacos

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

standalone单例模式 被改成了cluster 说明要部署多个

5. 查看nacos01 部署的第一台nacos的运行情况

docker logs nacos01

6.再次部署两台nacos

#部署第二台
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos01:8848 nacos03:8848"
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos02 \
--net my_net \
--ip 172.20.0.102 \
--restart=always \
nacos/nacos-server#部署第三台
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos01:8848 nacos02:8848"
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICF_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos03 \
--net my_net \
--ip 172.20.0.102 \
--restart=always \
nacos/nacos-server

7.部署nginx实现负载均衡

cd /softlsmkdir nginxcd /nginxmkdir conf.dcd conf.d/

8.编辑default.conf 文件 放入以下内容

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;}}

 server nacos01:8848 weight=1;
 server nacos02:8848 weight=2;
 server nacos03:8848 weight=2;

代码中的nacos 为刚才部署的三台nacos

weignt代表nginx负载均衡中的权重规则,每个都为1 代表进入的概率是相同的

9.运行nginx 部署到自定义网络中

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

效果图如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/413944.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Prism框架的WPF前端框架开发《知产代理数字化解决方案》

最近新开发了一套WPF前端界面框架,叫《知产代理数字化解决方案》,采用了时下流行的Prism框架作为整个系统的基础架构,演示了Prism中的IRegionManager区域管理器、IDialogAware对话框、IDialogService对话框服务、IContainerExtension容器等用…

gitgud.io+Sapphire注册账号教程

gitgud.io是一个仓库,地址 https://gitgud.io/,点进去之后会看到注册页面。 意思是需要通过注册这个Sapphire账户来登录。点击右边的Sapphire,就跳转到Sapphire的登陆页面,点击创建新账号,就进入注册页面。&#xff0…

阿里云地域和可用区分布表,2024更新

2024年阿里云服务器地域分布表,地域指数据中心所在的地理区域,通常按照数据中心所在的城市划分,例如华北2(北京)地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…

【办公类-21-01】20240117育婴员操作题word合并1.0

背景需求: 最近学校组织老师们学习“育婴员”高级,每周学习2题操作,所以我是把每个学习内容单独做在一个word文件里 上周8套保健操作学完了,需要整理,并将8份Word文件合并 第一步:doc装docx 合并时程序报…

springBoot如何动态切换数据源

项目背景:最近公司中需要搭建mysql的主从,想着在spring中集成多数据源。mybatisplus提供的有插件用DS注解就能够实现,但是这种在mysql服务宕机的情况下不能够进行自动切换,于是就想着用aop自定义注解的方式来实现 项目实现效果&a…

JCIM | 在gromacs中进行恒定ph模拟

恒定pH分子动力学(MD)是一种强大的技术,可以动态地改变残留物的质子化状态,从而能够以一种以前不可能实现的方式研究pH相关性。最近,这样一项技术引入到了Gromacs中。为了简化和自动化设置此过程,来自瑞典的研究团队提出了一个名为…

【机器学习】调配师:咖啡的完美预测

有一天,小明带着一脸期待找到了你这位数据分析大师。他掏出手机,屏幕上展示着一份详尽的Excel表格。“看,这是我咖啡店过去一年的数据。”他滑动着屏幕,“每个月的销售量、广告投入,还有当月的气温,我都记录…

Yolov8_使用自定义数据集训练模型1

前面几篇文章介绍了如何搭建Yolov8环境、使用默认的模型训练和推理图片及视频的效果、并使用GPU版本的torch加速推理、导出.engine格式的模型进一步利用GPU加速,本篇介绍如何自定义数据集,这样就可以训练出识别特定物体的模型。 《Yolov8_使用自定义数据…

细说JavaScript BOM之window常用子对象

一、location location翻译过来就是位置的意思,打开浏览器窗口大家可以看到导航栏上有一个URL地址。 // 例如 https://www.zhishunet.com// 分心可知,它使用的网络协议是https 服务器名称是 www,zhishunet.comlocation常用对象属性 属性描述search设置…

用Pytorch实现线性回归模型

目录 回顾Pytorch实现步骤1. 准备数据2. 设计模型class LinearModel代码 3. 构造损失函数和优化器4. 训练过程5. 输出和测试完整代码 练习 回顾 前面已经学习过线性模型相关的内容,实现线性模型的过程并没有使用到Pytorch。 这节课主要是利用Pytorch实现线性模型。…

UE5 C++ 学习笔记 UBT UHT 和 一些头文件

总结一些似懂非懂的知识点,从头慢慢梳理。 任何一个项目都有创建这些三个.cs。 这个是蓝图转C 这个是本身就是C项目,应该就是多了一个GameModeBase类 Build.cs包含了每个模块的信息,表明了这个项目用到了哪一些模块。该文件里的using UnrealBuilTool 是…

学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读

SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》,是第一个(也是目前唯一一个)开源的用3D Gaussian Splatting(3DGS)来做SLAM的工作。 在下面博客中,已经对3DGS进行了…