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

news2024/12/26 14:51:16


                                  🎉🎉欢迎来到我的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.coloradmin.cn/o/1395308.html

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

相关文章

基于springboot+vue的社区团购系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

安卓Android studio读写EM4305卡源码

本示例使用的发卡器&#xff1a; https://item.taobao.com/item.htm?id718720660087&spma1z10.5-c.w4002-21818769070.15.57dc6f89txUhXE <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xml…

蓝桥杯备赛 day 2 —— 二分算法(C/C++,零基础,配图)

目录 &#x1f308;前言&#xff1a; &#x1f4c1; 二分的概念 &#x1f4c1; 整数二分 &#x1f4c1; 二分的模板 &#x1f4c1; 习题 &#x1f4c1; 总结 &#x1f308;前言&#xff1a; 这篇文章主要是准备蓝桥杯竞赛同学所写&#xff0c;为你更好准备蓝桥杯比赛涉及…

【音视频原理】图像相关概念 ② ( 帧率 | 常见帧率标准 | 码率 | 码率单位 )

文章目录 一、帧率1、帧率简介2、常见帧率标准3、帧率 刷新率 二、码率1、码率简介2、码率单位 一、帧率 1、帧率简介 帧率 Frame Rate , 帧 指的是 是 画面帧 , 帧率 是 画面帧 的 速率 ; 帧率 的 单位是 FPS , Frames Per Second , 是 每秒钟 的 画面帧 个数 ; 帧率 是 动画…

弗洛伊德循环查找算法-原理

本文灵感来自哔哩哔哩视频 视频链接: 弗洛伊德循环查找算法 算法代码(java) package rain;class ListNode {int value;ListNode next;public ListNode(int value) {this.value value;this.next null;}Overridepublic String toString() {return "ListNode{" &q…

Kotlin 移动端多平台

支持多平台编程是 Kotlin 的主要优势之一。它减少了为不同平台编写和维护相同代码所花费的时间&#xff0c;同时保留了本机编程的灵活性和优势。 1. 基本概念 KMM&#xff1a;Kotlin Multiplatform for mobile&#xff08;移动设备的 Kotlin 多平台&#xff09; KMM 多平台的主…

使用的uview 微信高版本 头像昵称填写能力

<template><view><button class"cu-btn block bg-blue margin-tb-sm lg" tap"wxGetUserInfo">一键登录</button><view><!-- 提示窗示例 --><u-popup :show"show" background-color"#fff">&…

pygame里实现导弹追踪效果,同时对python的指针机制有一点点思考

最近,儿子一直缠着让我把之前给他编写的游戏重做一下,要加一些功能.但是因为之前写代码的时候刚学会python,当时的想法就是能跑就行,现在回头看来,代码的可维护性几乎为零.所以没办法只能冲头再来,重构了几乎所有代码.在编写的时候遇到了一个有意思的问题,儿子让我给游戏添加一…

Pyside6入门教学——编写一个UI界面并显示

1、安装Pyside6 输入下列命令安装Pyside6。 pip install Pyside6 2、设计UI 打开Qt设计工具&#xff08;在安装Pyside6包的目录下&#xff09;。 【注】我这用的是anaconda虚拟环境&#xff0c;所以我的路径是D:\App\Anaconda3\envs\snake\Lib\site-packages\PySide6。设计…

【Python学习】Python学习19- 异常处理

目录 【Python学习】Python学习19- 异常处理 前言python标准异常异常处理带异常类型语法不带异常类型语法使用except而带多种异常类型try-finally 语句触发异常 参考 文章所属专区 Python学习 前言 本章节主要说明Python的异常处理。 python标准异常 BaseException 所有异常…

GNU Radio简介及流程图搭建

文章目录 前言一、GNU Radio 是什么&#xff1f;二、GNU Radio 安装三、搭建第一个流程图1、创建 GRC 文件2、添加块3、运行流程图 前言 欢迎来到无线通信的世界&#xff0c;初步接触 GNU Radio&#xff0c;对其学习进行一个记录。 一、GNU Radio 是什么&#xff1f; GNU Rad…

【C语言编程之旅 4】刷题篇-关键字

第一题 解析 C语言关键字&#xff1a;C语言定义的&#xff0c;具有特定含义、专门用于特殊用途的C语言标识符&#xff0c;也称为保留字 A&#xff1a;错误&#xff0c;关键字是语言自身定义的 B&#xff1a;正确 C&#xff1a;错误&#xff0c;关键字具有特殊含义&#xff…

docker部署项目,/var/lib/docker/overlay2目录满了如何清理?

docker部署项目&#xff0c;/var/lib/docker/overlay2目录满了如何清理&#xff1f; 一、问题二、解决1、查看 /var/lib/docker 目录&#xff08;1&#xff09;、containers 目录&#xff08;2&#xff09;、volumes 目录&#xff08;3&#xff09;、overlay2 目录 2、清理&…

Java开发分析 JProfiler 14 中文

JProfiler 14是一款强大的Java分析工具&#xff0c;专为帮助Java开发者优化应用性能而设计。它提供了实时监控、内存分析、线程分析、CPU分析等多种功能&#xff0c;帮助开发者快速定位和解决性能问题。JProfiler 14具有直观的用户界面&#xff0c;使用户能够轻松上手。此外&am…

苹果Find My可查找添加32件物品,伦茨科技ST17H6x芯片加速产品赋能

苹果最近更新的支持文档证实&#xff0c;从 iOS 16 开始&#xff0c;"Find My"可查找添加物品从16件增加到32件&#xff0c;AirTag 和“查找”网络中的物品利用“查找”网络的强大功能来发挥作用&#xff0c;这个网络由数亿台加密的匿名 Apple 设备构成。“查找”网络…

Kafka-多线程消费及分区设置

目录 一、Kafka是什么&#xff1f;消息系统&#xff1a;Publish/subscribe&#xff08;发布/订阅者&#xff09;模式相关术语 二、初步使用1.yml文件配置2.生产者类3.消费者类4.发送消息 三、减少分区数量1.停止业务服务进程2.停止kafka服务进程3.重新启动kafka服务4.重新启动业…

PPT大神带你飞!!!

1、OneKeyTools 官网&#xff1a;http://oktools.xyz/ OneKeyTools是一款免费开源的PowerPoint第三方平面设计辅助插件&#xff0c;功能涵盖了形状、调色、三维、图片处理、辅助功能等等方面。 插件功能&#xff1a; 插件从面世逐步受到广大PPT设计师和爱好者的追捧&#x…

感谢大家的支持,继续耕耘

有什么大家感兴趣的领域&#xff0c;欢迎留言

SSH数据流量监控

简介 检查网络连接的数据传输情况有以下一些实际意义&#xff1a; 安全监控&#xff1a;检查数据传输情况可以帮助你识别异常活动或潜在的安全威胁。如果发现大量不寻常的数据传输活动&#xff0c;可能表示有未经授权的访问或恶意行为。通过监控数据传输&#xff0c;可以及时发…

软件测评中心▏正式验收测试和非正式验收的优缺点简析

软件正式验收测试需要非常严格的管理&#xff0c;是对系统测试的延续&#xff0c;这种验收测试的测试用例应是系统测试的子集。非正式验收测试不像正式验收测试那么严格&#xff0c;不需要执行指定的测试用例&#xff0c;可以由测试人员自主决定&#xff0c;但制定测试用例时必…