使用docker部署nacos分布式集群

news2024/11/30 0:34:51

本文目的

  • 在服务器中部署nacos集群,并连接外置数据库
  • 关于外置的mysql部署和单例nacos如何部署请看下面的两个链接
如何使用docker部署mysql

docker部署容器化mysql5.7-CSDN博客

如何使用docker部署nacos

容器化部署Nacos:从环境准备到启动-CSDN博客

准备

  • 下载docker版本的nacos
git clone https://github.com/nacos-group/nacos-docker.git
  • 在example文件夹下找到cluster-hostname.yaml
    对其中内容进行修改:(下面有对修改的解释)
version: "3.8"
services:
  nacos1:
    hostname: nacos1
    container_name: nacos1
    image: nacos/nacos-server:v2.2.1
    volumes:
      - ./cluster-logs/nacos1:/home/nacos/logs
    ports:
      - "7848:7848"
      - "8848:8848"
      - "9868:9848"
      - "9850:9849"
    env_file:
      - ../env/nacos-hostname.env
    restart: always
    networks:
      - rdt-network

  nacos2:
    hostname: nacos2
    image: nacos/nacos-server:v2.2.1
    container_name: nacos2
    volumes:
      - ./cluster-logs/nacos2:/home/nacos/logs
    ports:
      - "7850:7848"
      - "8850:8848"
      - "9870:9848"
      - "9852:9849"
    env_file:
      - ../env/nacos-hostname.env
    restart: always
    networks:
      - rdt-network
  nacos3:
    hostname: nacos3
    image: nacos/nacos-server:v2.2.1
    container_name: nacos3
    volumes:
      - ./cluster-logs/nacos3:/home/nacos/logs
    ports:
      - "7852:7848"
      - "8852:8848"
      - "9872:9848"
      - "9854:9849"
    env_file:
      - ../env/nacos-hostname.env
    restart: always
    networks:
      - rdt-network
networks:
  rdt-network:
    external: true

对修改的解释:
  • 删除部署mysql的内容,因为我们使用的是外置的mysql
  • 添加了networks的选项,这个docker网络是我自己创建的,目的是让三个nacos和mysql都在同一个docker网络内
# 列出所有docker网络
docker network ls
# 检查网络详情
docker network inspect <network-name>
# 检查容器详情
docker inspect <container-name-or-id>
# 创建一个新的网络
docker network create rdt-network
# 连接现有容器到新网络
docker network connect rdt-network mysql57
  • 修订为自己要的nacos版本
image: nacos/nacos-server:v2.2.1

修改环境文件

  • nacos1、2、3都使用这个环境文件
    env_file:
      - ../env/nacos-hostname.env
  • 将nacos-hostname.yml修改为如下内容
PREFER_HOST_MODE=hostname
# 修改成这样它们就能互相发现了 因为三个容器的端口映射都映射到了8848
NACOS_SERVERS=nacos1 nacos2 nacos3
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=mysql57
# 我创建nacos试用的数据库时名字是nacos_config 可以根据你的需求更改
MYSQL_SERVICE_DB_NAME=nacos_config
# 你的mysql的端口、用户名、密码
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=ur_password
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
NACOS_AUTH_IDENTITY_KEY=2222
NACOS_AUTH_IDENTITY_VALUE=2xxx
NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
数据库

这个链接有如何创建nacos数据库的内容
容器化部署Nacos:从环境准备到启动-CSDN博客

启动nacos集群

# 后台启动
docker-compose -f example/cluster-hostname.yaml up -d
# 查看容器运行情况(在nacos-docker文件目录内)
docker-compose logs nacos1
docker-compose logs nacos1
docker-compose logs nacos3

到nacos控制台检查运行情况,运行正确的话如图

在这里插入图片描述

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

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

相关文章

ERR_PNPM_INVALID_WORKSPACE_CONFIGURATION packages field missing or empty

vue执行 pnpm install命令时&#xff0c;报 ERR_PNPM_INVALID_WORKSPACE_CONFIGURATION  packages field missing or empty错&#xff0c;在网上查询了很久&#xff0c;也没有传出来结果&#xff0c;最后发现是pnpm的版本不对引起的。 我先执行的是npm install -g pnpm&…

T13级专家被毕业?!研发大牛被裁带来的警示丨IDCF

2005年加入腾讯&#xff0c;腾讯第一位Web前端专家&#xff0c;T13职级&#xff0c;今年1月仍是腾讯前端最高专家。 在47岁的时候&#xff0c;拥有这样简历的前端大牛黄希彤被腾讯裁员。 黄希彤夫人在小红书上透露&#xff1a;&#xff08;黄希彤&#xff09;在鹅厂工作了15年…

csapp attack lab phase4

csapp attack lab phase4 每个gadget由一系列指令字节组成&#xff0c;最后一个字节为0xc3&#xff0c;编码为ret指令。 举个例子: 48 89 c7 是指令 movq %rax, %rdi&#xff0c; 对应的地址是0x400f15 0x3 也就是0x400f18, 是开始的指令位置。 例如&#xff1a; ret编码为0…

为防下架,我把虎*牙舞蹈小姐姐视频批量下载啦~

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 环境使用: Python 3.10 解释器 Pycharm 编辑器 模块使用: requests >>> 数据请求 第三方模块 pip install requests <工具> win R 输入cmd 输入安装命令…

Android——gradle构建知识片-散装版

一、Gradle - Plugins插件库地址 Gradle - Plugins插件库地址https://plugins.gradle.org/ 二、将自己的代码Android Library发布到仓库Bintray、JCenter、JitPack 放弃JitPack&#xff0c;发布Android Library到Bintray、JCenter - 简书Bug&#xff1a;升级到gradle tools …

电压放大器的各项参数是什么意思

电压放大器是一种重要的电子设备&#xff0c;用于将输入信号的电压放大到更高的电压水平。在设计和使用电压放大器时&#xff0c;有一些关键参数需要考虑和了解。以下是西安电压放大器带来的各项参数及其意义的详细解释。 增益&#xff1a;增益是指输出电压与输入电压之间的比例…

Unity骚操作:2D横版探险游戏 Quad面片背景跟随正交摄像机移动而循环Shader图片为背景

来自:自研 10.2D横版探险游戏 Quad面片背景跟随正交摄像机移动而循环Shader图片为背景

如果面试时,问你职业规划怎么答?

对于面试官来说&#xff0c;他真的无心听你讲奋斗规划&#xff0c;问你职业规划&#xff0c;无法是想从你的言语中&#xff0c;分辨出你的稳定性&#xff0c;进取心。 1、稳定性 作为面试官&#xff0c;如果觉得你是人才&#xff0c;打算把你招进来&#xff0c;面试官最担心的…

TSINGSEE青犀智慧机房AI+视频智能监管方案,保障机房设备稳定运转

一、背景与需求分析 随着互联网的高速发展&#xff0c;机房数量及配套环境设备日益增多&#xff0c;其运行状况直接决定着企业组织的运营效率和服务质量。作为企业信息化的核心&#xff0c;机房的安全监测与管理&#xff0c;不仅关系到企业的稳定运转&#xff0c;同时也关系到…

中小企业怎么去挑选ERP系统?

中小企业该怎么去挑选ERP系统&#xff1f;本文将为大家总结了4点&#xff0c;如下&#xff1a; 先来说说中小企业选型ERP系统为什么这么难&#xff1f; 一是现在的厂商太卷了&#xff0c;选择太多&#xff0c;企业很难知道到底哪个是真正好用的。 简单来说&#xff0c;ERP其…

在Sprinng Boot中使用Redis充当缓存

关于我们使用EhCache可以适应很多的应用场景了&#xff0c;但是因为EhCache是进程内的缓存框架&#xff0c;在集群模式下&#xff0c;我们在我们的应用服务器或者云服务器之间的缓存都是独立的。故而在不同的服务器之间的进程会存在缓存不一致的情况&#xff0c;就算我们的EhCa…

Evil靶场

Evil 1.主机发现 使用命令探测存活主机&#xff0c;80.139是kali的地址&#xff0c;所以靶机地址就是80.134 fping -gaq 192.168.80.0/242.端口扫描 开放80&#xff0c;22端口 nmap -Pn -sV -p- -A 192.168.80.1343.信息收集 访问web界面 路径扫描 gobuster dir -u http…

只使用JS怎么给静态页面网站添加站内全局搜索功能?

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 背景 静态页面通常由HTML、CSS 和 JavaScript…

基于单片机的自动变速箱电控系统

**单片机设计介绍&#xff0c; 基于单片机的自动变速箱电控系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的自动变速箱电控系统是一种通过单片机来控制车辆自动变速箱的系统。它借助传感器和单片机的协同工作&am…

配电室中如何安装六氟化硫SF6气体泄漏报警装置?

六氟化硫气体泄漏报警装置安装位置产品的设计、检验、制造均遵循GB16808-2008《可燃气体报警控制器》和GB12358-2006《作业场所环境气体检测报警仪通用技术要求》严格设计。是经过高速CPU数据处理&#xff0c;通过LCD显示出探测器的浓度、状态并输出相应的控制信号。报警控制器…

口袋参谋:如何找竞争小,优势大的蓝海词?

​ 作为淘宝天猫的中小卖家&#xff0c;99.99%的人都知道流量对于店铺的重要性&#xff0c;如果没有流量的话&#xff0c;店铺是肯定没有销量的。 提高流量的方式有很多种&#xff0c;比如优化宝贝图片、标题、关键词等&#xff0c;由于在淘宝天猫上同一宝贝的竞争力太大了…

使用 Java 枚举和自定义数据类型

介绍 在 Java 编程领域&#xff0c;理解并有效利用枚举和自定义数据类型对于编写健壮、可维护且高效的代码至关重要。这篇文章旨在深入研究 Java 枚举和自定义数据类型的概念&#xff0c;提供见解和示例&#xff0c;以增强您的编码技能和知识。 理解 Java 中的枚举 枚举是枚…

Vue 2学习(路由、history 和 hash 模式、)-day014

一、路由简介 路由&#xff08;route&#xff09;就是一组 key-value 的对应关系多个路由&#xff0c;需要经过路由器&#xff08;router&#xff09;的管理 在 Vue 中也有路由&#xff0c;Vue 中的路由主要是通过 vue-rounter 这个插件库来实现&#xff0c;它的作用就是专门用…

POJ 2836 Rectangular Covering 状态压缩DP(铺砖问题)

一、题目大意 坐标系中有n个点&#xff0c;它们满足 -1000<x<1000,-1000<y<1000。 现在要在坐标系中放一些矩形&#xff0c;要使得每个点都被矩形覆盖&#xff08;被矩形的边或者顶点覆盖也可以&#xff09;&#xff0c;每个矩形都必须满足面积大于0&#xff0c;…