【Docker】contos7安装 Nacos容器部署单个部署集群


                                  🎉🎉欢迎来到我的CSDN主页!🎉🎉

                    🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚

    🌟推荐给大家我的博客专栏《Docker】contos7安装 Nacos容器部署单个&&部署集群》。🎯🎯

                    🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁

继续之前Docker 的知识,今天我来继续分享【Docker】contos7安装 Nacos容器部署单个&&部署集群

目录

一、Nacos单机模式

1.1.创建mysql需要的挂载目录

1.2.创建并运行mysql容器

2、安装下载nacos

二、Nacos集群配置

1.创建集群Nacos

2.负载均衡Nacos 


一、Nacos单机模式

1.1.创建mysql需要的挂载目录

如果不会mysql的创建可以看我之前的博客

这里将nacos的sql脚本放入到script文件夹下

1.2.创建并运行mysql容器

为了让我们的容器之间可以相互访问,我们使用自定义的网络mode

 创建容器就需要为它指定我们的自定义网络 

先删除之前的mysql,因为要重新挂载nacos 的sql文件

 docker rm -f m1

 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 mode \--ip 172.18.0.100 \-d mysql/mysql-server:5.7

进入我们的mysql容器进行登录

docker exec -it m1 bash
 
mysql -uroot -p
create database nacos;
use nacos;

source /script/nacos-mysql.sql;

查看数据表:

设置远程连接所以创建一个账户并赋予权限:

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

重启一下mysql容器:m1

docker restart m1 
2、安装下载nacos
docker pull nacos/nacos-server

运行并启动Nacos

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.0.100 \
-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 mode \
--ip 172.18.0.105 \
nacos/nacos-server
  • -e PREFER_HOST_MODE=ip:设置 Nacos 的主机模式为 IP 模式,即使用指定的 IP 地址作为主机名。
  • -e MODE=cluster:设置 Nacos 的运行模式为集群模式。
  • -e NACOS_SERVERS="172.18.0.202:8848 172.18.0.203:8848"设置 Nacos 集群的节点地址列表,以空格分隔。
  • -e SPRING_DATASOURCE_PLATFORM=mysql:设置 Nacos 使用 MySQL 数据库作为数据源。
  • -e MYSQL_SERVICE_HOST=172.18.0.100:设置 MySQL 数据库的主机地址。
  • -e MYSQL_SERVICE_PORT=3306:设置 MySQL 数据库的端口号。
  • -e MYSQL_SERVICE_DB_NAME=nacos:设置 Nacos 在 MySQL 中使用的数据库名称。
  • -e MYSQL_SERVICE_USER=root:设置连接 MySQL 数据库的用户名。
  • -e MYSQL_SERVICE_PASSWORD=123456:设置连接 MySQL 数据库的密码。
  • -p 8848:8848:将容器内的 8848 端口映射到主机的 8848 端口,以便可以通过主机的 IP 地址访问 Nacos 控制台。
  • --name nacos03:设置容器的名称为 "nacos03"。
  • --restart=always:设置容器在退出或重启后总是自动重启。
  • --net mode:设置容器使用的网络模式为 "mode"(这里是一个占位符,请根据实际情况替换为正确的网络模式)。
  • --ip 172.18.0.203:为容器分配静态 IP 地址,这里设置为 "172.18.0.203"(请确保该 IP 地址在指定的网络范围内且未被占用)。
  • nacos/nacos-server:使用名为 "nacos/nacos-server" 的 Nacos 服务镜像。

注意这里要.开放防火墙端口,刷新防火墙

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

查看数据库:这里是没有数据因为nacos里面是没有配置的

浏览器访问一下:

http://www.zkingedu.com:8848/nacos

这里随便配置一个信息,再到后台查看:

二、Nacos集群配置

1.创建集群Nacos

这里有个问题之前的nacos没有删掉,导致端口(这里是 8848)已经被其他进程或容器占用了

docker stop <container_id>,或者docker rm -f<container_id>

2.布置两台nacos

nacos02

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.202:8848 172.18.0.203:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.0.100 \
-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 mode \
--ip 172.18.0.202 \
nacos/nacos-server


 

nacos03


docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.202:8848 172.18.0.203:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.0.100 \
-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 mode \
--ip 172.18.0.203 \
nacos/nacos-server

2.负载均衡Nacos 

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

 创建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

浏览器刷新看:

认真写博客的人,见一个少一个🤩🤩🤩🤩🤩🤩🤩🤩🤩

       👍 点赞支持,⭐️ 收藏学习,❤️ 关注不迷路~💬 如有错漏请不吝指正~

平顶山大师-CSDN博客 平顶山大师-CSDN博客平顶山大师擅长Java,初学,Docker,等方面的知识,平顶山大师关注前端框架,java,idea,前端,正则表达式,eclipse领域.https://blog.csdn.net/m0_73647713?spm=1011.2266.3001.5343

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

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

相关文章

旅游项目day03

1. 前端整合后端发短信接口 2. 注册功能 后端提供注册接口&#xff0c;接受前端传入的参数&#xff0c;创建新的用户对象&#xff0c;保存到数据库。 接口设计&#xff1a; 实现步骤&#xff1a; 手机号码唯一性校验&#xff08;后端一定要再次校验手机号唯一性&#xff09…

vue2 如何配置路由详解。

首先我们要安装一下vue-router&#xff0c;命令为 yarn add vue-router3.5.3 或者使用 npm 命令。 有人在配置路由的时候可能会报以下错误&#xff1a;如何解决呢&#xff0c;就是版本号太高了&#xff08;4版本&#xff09;&#xff0c;用以上的命令就可以&#xff08;yarn a…

Git一台电脑 配置多个账号

Git一台电脑 配置多个账号 Git一台电脑 配置多个账号 常用的Git版本管理有 gitee github gitlab codeup &#xff0c;每个都有独立账号&#xff0c;经常需要在一个电脑上向多个代码仓提交后者更新代码&#xff0c;本文以ssh 方式为例配置 1 对应账号 公私钥生成 建议&#…

仓储的未来:为叉车配备智能设备

近年来&#xff0c;数字化和自动化极大地重塑了仓储行业。叉车是仓库的主力&#xff0c;正在配备智能设备以简化操作。 点击下载Dynamsoft最新版https://www.evget.com/product/3691/download 智能叉车的序列化艺术 序列化是为每个商品或托盘分配唯一标识符&#xff08;通常采…

openGauss:准备知识1【IP地址/SSH协议/PuTTY安装和使用】

最近研究在openEuler 22.03 LTS上使用openGauss数据库。如果想要远端访问服务器&#xff0c;那么就先要了解IP地址、SSH协议等内容。 IP代表“Internet Protocol”&#xff0c;是一种网络协议&#xff0c;它定义了计算机在网络上的地址和数据传输方式。简言之&#xff0c;可以…

德施曼智能锁×去哪儿跨界联名,送你一场说走就走的新年旅行~

2024年农历新年即将来临&#xff0c;智能锁行业领军企业德施曼携手中国领先在线旅游平台去哪儿&#xff0c;紧扣“旅游过年”的新年趋势&#xff0c;推出“新年去哪儿&#xff0c;德施曼替你看家”跨界联名活动&#xff0c;为广大用户带来一场说走就走的旅行。 德施曼X去哪儿 …

GoZero微服务个人探究(四)启动rpc微服务报错panic: context deadline exceeded

这里的原因有很多&#xff1a; 网络不好&#xff0c;etcd服务没有起起来&#xff0c;如果etcd开起了tls加密&#xff0c;微服务没有配置证书等原因 主要讲的是为微服务配置好认证证书&#xff0c;因为其他两个容易解决 在对应服务的xxx.yaml内&#xff0c;补充etcd认证文件相…

VMware安装Linux-Redhat7.9 详细步骤

目录 一、安装准备二、安装步骤 一、安装准备 Redhat 7.9 镜像下载 VMware安装步骤可查看文章&#xff1a;https://blog.csdn.net/a2279338659/article/details/126346345 可去官网下载&#xff0c;或者加群下载镜像资源。 二、安装步骤 创建新的虚拟机&#xff1a; 我这边…

MAX-4/11/03/016/08/1/1/00元件温度性能对模块温度特性的影响

MAX-4/11/03/016/08/1/1/00元件温度性能对模块温度特性的影响 DC/DC电源模块高温失效原因分析 "引言   DC&#xff0f;DC电源模块(以下简称模块)&#xff0c;是一种运用功率半导体 ... 的一款高性能DC&#xff0f;DC电源模块。与tnterlmint的MHF2815S相比&#xff0c…

Unity | 渡鸦避难所-7 | 攻击碰撞检测

1 前言 英雄的宝剑并非只是装饰物&#xff0c;利剑出鞘时可以对怪物造成伤害。同样&#xff0c;怪物挥出铁拳时也会对英雄造成伤害。当然&#xff0c;都有同样的前提&#xff1a;在武器碰到对方的情况下&#xff0c;才会造成伤害。利用物理引擎&#xff0c;可以轻松的实现碰撞…

基于粒子群算法的三维航线规划

matlab2020a可运行 基于粒子群算法的三维航线规划资源-CSDN文库

【软件测试】学习笔记-基于模型的测试

可以说&#xff0c;软件测试是一款软件产品质量的最后一道防线&#xff0c;是产品上线前必不可少、最重要的一个环节。每一款高质量的软件产品背后&#xff0c;都蕴含了大量的测试工作。而且&#xff0c;这些测试工作很可能是整个软件开发过程中最昂贵、劳动最密集的工作。 虽说…