Docker部署nacos2.1版本集群

news2024/11/28 20:42:02

        Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

        Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

        Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

服务器准备

192.168.197.136   nacos-1

192.168.197.137   nacos-2

192.168.197.138   nacos-3

三台服务器都要拉取nacos镜像

docker pull nacos/nacos-server:v2.1.0

docker run -d --name nacos-1 --net=host nacos/nacos-server:v2.1.0

docker cp nacos-1:/home/nacos .   把nacos目录拷贝出来做持久化

docker run -d --name nacos-2 --net=host nacos/nacos-server:v2.1.0

docker cp nacos-2:/home/nacos .   把nacos目录拷贝出来做持久化

docker run -d --name nacos-3 --net=host nacos/nacos-server:v2.1.0

docker cp nacos-3:/home/nacos .   把nacos目录拷贝出来做持久化

为了方便管理编写了脚本进行管理

vim nacos-1.sh

#!/bin/bash

docker rm -f nacos-1

docker run -itd --name nacos-1 \

-e MODE=cluster \

-e PREFER_HOST_MODE=192.168.197.136 \

-e SPRING_DATASOURCE_PLATFORM=mysql \

-e MYSQL_SERVICE_HOST=192.168.197.136 \

-e MYSQL_SERVICE_PORT=3306 \

-e MYSQL_SERVICE_DB_NAME=nacos \

-e MYSQL_SERVICE_USER=slave \

-e MYSQL_SERVICE_PASSWORD=123456 \

-e NACOS_SERVERS="192.168.197.136:8848,192.168.197.137:8848,192.168.197.138:8848" \

-e JVM_XMS=512m \

-e JVM_XMX=512m \

-v /data/nacos/:/home/nacos \

--net=host \

--restart=always            \

  nacos/nacos-server:v2.1.0

参数解释:

MODE=cluster`:指定Nacos的模式为集群模式。  

PREFER_HOST_MODE=192.168.197.136`:指定Nacos的主节点IP地址。  

SPRING_DATASOURCE_PLATFORM=mysql`:指定Nacos使用的数据库类型为MySQL。

MYSQL_SERVICE_HOST=192.168.197.136`:指定MySQL数据库所在的主机IP地址。  

MYSQL_SERVICE_PORT=3306`:指定MySQL数据库的端口号。  

MYSQL_SERVICE_DB_NAME=nacos`:指定Nacos使用的MySQL数据库名称。  

MYSQL_SERVICE_USER=slave`:指定连接MySQL数据库所使用的用户名。  

MYSQL_SERVICE_PASSWORD=123456`:指定连接MySQL数据库所使用的密码。  

NACOS_SERVERS="192.168.197.136:8848,192.168.197.137:8848,192.168.197.138:8848"`:指定Nacos集群中所有节点的IP地址和端口号。  

JVM_XMS=512m`:指定JVM的初始堆大小。  

JVM_XMX=512m`:指定JVM的最大堆大小。  

/data/nacos/:/home/nacos`:将本地目录`/data/nacos/`映射到容器内`/home/nacos`目录。  

net=host`:使用主机网络模式,使容器与主机共享网络栈,可以使用主机IP地址访问Nacos服务。

vim nacos-2.sh

#!/bin/bash

docker rm -f nacos-2

docker run -itd --name nacos-2 \

-e MODE=cluster \

-e PREFER_HOST_MODE=192.168.197.136 \

-e SPRING_DATASOURCE_PLATFORM=mysql \

-e MYSQL_SERVICE_HOST=192.168.197.136 \

-e MYSQL_SERVICE_PORT=3306 \

-e MYSQL_SERVICE_DB_NAME=nacos \

-e MYSQL_SERVICE_USER=slave \

-e MYSQL_SERVICE_PASSWORD=123456 \

-e NACOS_SERVERS="192.168.197.136:8848,192.168.197.137:8848,192.168.197.138:8848" \

-e JVM_XMS=512m \

-e JVM_XMX=512m \

-v /data/nacos/:/home/nacos \

--net=host \

--restart=always            \

  nacos/nacos-server:v2.1.0

vim nacos-3.sh

#!/bin/bash

docker rm -f nacos-3

docker run -itd --name nacos-3 \

-e MODE=cluster \

-e PREFER_HOST_MODE=192.168.197.136 \

-e SPRING_DATASOURCE_PLATFORM=mysql \

-e MYSQL_SERVICE_HOST=192.168.197.136 \

-e MYSQL_SERVICE_PORT=3306 \

-e MYSQL_SERVICE_DB_NAME=nacos \

-e MYSQL_SERVICE_USER=slave \

-e MYSQL_SERVICE_PASSWORD=123456 \

-e NACOS_SERVERS="192.168.197.136:8848,192.168.197.137:8848,192.168.197.138:8848" \

-e JVM_XMS=512m \

-e JVM_XMX=512m \

-v /data/nacos/:/home/nacos \

--net=host \

--restart=always            \

  nacos/nacos-server:v2.1.0

注意leader选举是通过7848端口通信的需要开放

运行三个节点的脚本

bash nacos-1.sh

bash nacos-2.sh

bash nacos-3.sh

访问nacos的web页面查看集群状态

192.168.197.136:8848/nacos     默认用户nacos默认密码nacos

至此nacos集群部署完成 。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring发送qq邮件 + 模板引擎

文章目录 学习链接邮箱配置开启qq邮箱服务相关配置文件 freemarker模板引擎引入依赖配置freemarker编写模板registerTpl.ftl 发送带内嵌图片的邮件 附件效果 学习链接 java邮件发送 Java实现邮件发送 springboot发送QQ邮件(最简单方式) 刘java-Java使用…

css - 盒子水平垂直居中的几种方式

前端盒子水平垂直居中的几种方式 实现效果图如下: 首先是父元素的基本样式: .container {width: 600px;height: 600px;border: 1px solid red;background-color: antiquewhite;margin: 0 auto;/* 父盒子开启相对定位 */position: relative;}1&#xf…

【Linux】Linux入门学习之常用命令三

介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力&a…

Python每日一练(20230511) 跳跃游戏 I\II\III\IV

目录 1. 跳跃游戏 Jump Game I 2. 跳跃游戏 Jump Game II 3. 跳跃游戏 Jump Game III 4. 跳跃游戏 Jump Game IV 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 跳跃游戏 Jump Game …

操作符知识点大全(简洁,全面,含使用场景,演示,代码)

目录 一.算术操作符 1.要点: 二.负数原码,反码,补码的互推 1.按位取反操作符:~(二进制位) 2.原反补互推演示 三.进制位的表示 1.不同进制位的特征: 2.二进制位表示 3.整型的二进制表…

如何利用python实现灰色关联分析?

1.灰色关联分析简介 灰色系统这个概念是相对于白色系统和黑色系统而言的。从控制论的知识里,颜色一般代表对于一个系统我们已知信息的多少,白色代表信息量充足,黑色代表我们其中的构造并不清楚的系统,而灰色介于两者之间&#xf…

WhatsApp如何让客户参与变得更简单?

WhatsApp对你的品牌来说可能和Twitter和Facebook一样重要,你可能已经把它们纳入你的社交媒体战略。 是的,WhatsApp不仅仅可以用来给同事发短信或与远方的亲戚视频聊天,它也适用于商业。 在发展WhatsApp业务时,小企业主得到了最优…

K8s基础9——服务发现Coredns、Ingress Controller多种暴露方式、TLS+DaemonSet、Headless Services

文章目录 一、服务发现机制1.1 环境变量注入1.2 DNS解析 二、Ingress4.1 部署Ingress controller4.2 暴露Ingress Controller4.2.1 SVC NodePort方式4.2.2 共享宿主机网络方式 4.3 默认后端4.4 同域名不同URL转不同服务4.5 不同域名转不同服务4.6 使用https4.6.1 安装cfssl4.6.…

如何用 Serverless 一键部署 Stable Diffusion?

作者 | 寒斜(阿里云智能技术专家) 思路 其实很简单, 我们只需要将镜像里面的动态路径映射到 NAS文件存储里面即可,利用 NAS 独立存储文件模型,扩展,语言包等,并且我们可以为管理 NAS 单独配置…

使用Python和Django构建一个全功能的在线医疗问诊平台

在线医疗问诊平台应运而生,为患者和医生之间提供了一个便捷的交流平台。本文将介绍如何使用Python和Django构建一个全功能的在线医疗问诊平台。 功能 在我们的平台上,患者可以注册账户、查询医生、预约诊断、支付费用并与医生沟通。医生可以创建个人档…

【.NET CORE】使用Rotativa.AspNetCore将网页转换为PDF

插件功能:将在线网页转换为PDF显示,文件保存 组件配置: 1、在NuGet管理中搜索Rotativa.AspNetCore并安装稳定版,项目github地址:GitHub - webgio/Rotativa.AspNetCore: Rotativa for Asp.Net Core 2、github下载项目…

Docker安装部署MySQL

1、拉取镜像 docker pull mysql:8.0 2、查看镜像 docker images 3、创建文件夹 mkdir ~/mysql cd mysql/ 4、创建并启动MySQL容器 docker run -id \ > -p 3306:3306 \ > --namec_mysql \ > -v $PWD/conf:/etc/mysql/conf.d \ > -v $PWD/logs:/logs \ > -…

Vue Emelent-UI表格合并行或列rowspan和colspan的作用

Vue Element-UI的table组件支持合并行或者列,在这里做个简单的学习笔记。 我们可以通过rowspan和colspan来进行单元格合并,那么这两个属性是什么意思呢,通过官方给的demo来探讨下。 上述单元格将行index为奇数的第一列和第二列合并为一个单…

python dict 取值方法

在日常工作中,我们经常会遇到需要将一些数据转换为 dict格式的情况。比如: 1、想要将多个数组按照某种规则进行排列,形成有序的数据表,这时需要使用 dict函数。 3、想要将数据按照指定的方式进行存储,比如:…

Maven自定义配置

修改maven默认字符编码 maven默认编码为GBK 注:配好MAVEN_HOME的环境变量后,在运行cmd. 打开cmd 运行mvn -v命令即可. 修改UTF-8为默认编码.设置系统环境变量 变量名MAVEN_OPTS 变量值-Dfile.encodingUTF-8 还可以添加其他配置,比如: -Xms256m -Xmx512m…

IDEA编译JDK1.8源码及运行测试

———————————————— 版权声明:本文为CSDN博主「神韵499」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_41055045/article/details/112002440 ————…

【Qt编程之Widgets模块】-004:QTableWidget及基本操作

QTableWidget及基本操作 1. 概述2. 主要操作函数2.1 QTableWidgets实例化2.2 设置表头 setHorizontalHeaderLabels2.3 单元格选择:setSelectionBehavior2.4 设置列数 setColumnCount2.5 设置行数 setRowCount2.6 网格的显示 setShowGrid2.7 添加表项 setItem2.8 表项…

常见的锁和zookeeper

zookeeper 本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com 前言 只有光头才能变强。 文本已收录至我的 GitHub 仓库,欢迎 Star:https://github.com/ZhongFuCheng3y/3y 上次写了一篇 什么是消息队列?以后,本来…

Ubuntu 20.04.5 LTS x86_64 Docker stable diffusion webui 及 http api接口

资源 Docker镜像 docker pull darkroot1234/ayanami:latest 参考地址: docker一键运行stable diffusion webui,常用插件和功能完备,获得镜像后可打包带走 - 哔哩哔哩 nvidia cuda 驱动 https://us.download.nvidia.cn/XFree86/aarch64/…

Django框架005:阶段性`实战小案例`“答辩“公司员工表

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…