当前位置: 首页 > news >正文

【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.lryc.cn/news/283475.html

相关文章:

  • UML-通信图和交互概览图(通信图和顺序图的区别与联系)
  • Linux 使用PS命令掌握进程管理
  • Debian 10.13.0 安装图解
  • SQLite 3.45.0 发布!
  • MongoDB聚合:$set
  • 《Python数据分析技术栈》第01章 02 Jupyter入门(Getting started with Jupyter notebooks)
  • 【征服redis5】redis的Redisson客户端
  • React16源码: React中的beginWork的源码实现
  • 5-微信小程序语法参考
  • 数组练习 Leetcode 566.重塑矩阵
  • Linux centos中find命令的多种用途:按照具体应用来详细说明find的用法举例
  • 服务器数据恢复—OceanStor存储raid5热备盘同步数据失败的数据恢复案例
  • Xline v0.6.1: 一个用于元数据管理的分布式KV存储
  • 【CSS】解决height = line-height 文字不垂直居中(偏上、偏下)的问题
  • 天津想转行学python培训班靠谱吗?
  • (C语言)冒泡排序
  • 怎么样的布局是符合可制造性的PCB布局?
  • 第28关 k8s监控实战之Prometheus(九)
  • 安全防御之可信计算技术
  • FPGA引脚物理电平(内部资源,Select IO)-认知2
  • PBR材质纹理下载
  • mac PyCharm 使用conda环境
  • 10个常用的正则表达式
  • 对一手游的自定义 luajit 字节码的研究
  • 1125. 牛的旅行 (Floyd算法,最短路)
  • oracle “Interested Transaction List”(ITL)的概念
  • kali下-MSF-ftp_login模块破解FTP账号及密码
  • ELK之Filebeat输出日志格式设置及输出字段过滤和修改
  • 【开源】基于JAVA的河南软件客服系统
  • 基于SpringBoot的社区帮扶对象管理系统