docker nacos mysql nginx 集群一台

在这里插入图片描述

文章目录

            • 服务器编排
          • 一、mysql
            • 1. 创建挂载目录
            • 2. 赋予权限
            • 3. 运行容器
            • 4. 创建数据库
            • 5. 初始化脚本
          • 二、nacos-cluster
            • 2.1. nacos-cluster01
            • 2.2. nacos-cluster02
            • 2.3. nacos-cluster03
          • 三、nginx
            • 3.1. 运行临时容器
            • 3.2. 配置拷贝
            • 3.3. 删除临时容器
            • 3.4. 添加配置
            • 3.5. 运行容器
          • 四、验证和实战
            • 4.1. nacos控制台
            • 4.2. nginx验证
            • 4.3. 项目配置

服务器编排

在这里插入图片描述

ip端口用途
192.168.92.1298846nacos-cluster01
192.168.92.1298847nacos-cluster02
192.168.92.1298848nacos-cluster03
192.168.92.1293306mysql
192.168.92.12980nginx
软件版本用途
JDK1.8.0_312基础环境
docker20.10.11容器编排
nacos-server1.4.2服务发现组件和统一配置中心
nginx1.21.4反向代理、负载均衡、动静分离
mysql5.7nacos配置数据持久化
一、mysql
1. 创建挂载目录
mkdir -p /app/mysql/data /app/mysql/conf /app/mysql/sql
2. 赋予权限
chmod -R 777 /app/mysql/
3. 运行容器
  • mysql5.7
docker run --name mysql5.7 -d \
-p 3306:3306 \
-v /app/mysql/conf:/etc/my.cnf.d \
-v /app/mysql/logs:/logs \
-v /app/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart always \
--privileged=true \
mysql:5.7
  • mysql5.8

创建方式有很多种,请参考以下博客,任选其中一种即可
docker mysql:8.0.27

4. 创建数据库

创建nacos_config,

5. 初始化脚本

数据库初始化脚本:
https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql

二、nacos-cluster
  • 192.168.92.129 节点 8846
2.1. nacos-cluster01
docker run -d \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8846 \
-e NACOS_SERVERS=192.168.92.129:8846,192.168.92.129:8847,192.168.92.129:8848 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.92.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=192.168.92.129 \
-p 8846:8846 \
--name nacos8846 \
--restart always \
nacos/nacos-server:1.4.2
2.2. nacos-cluster02
  • 192.168.92.129 节点 8847
docker run -d \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8847 \
-e NACOS_SERVERS=192.168.92.129:8846,192.168.92.129:8847,192.168.92.129:8848 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.92.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=192.168.92.129 \
-p 8847:8847 \
--name nacos8847 \
--restart always \
nacos/nacos-server:1.4.2
2.3. nacos-cluster03
  • 192.168.92.129 节点 8848
docker run -d \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8848 \
-e NACOS_SERVERS=192.168.92.129:8846,192.168.92.129:8847,192.168.92.129:8848 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.92.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=192.168.92.129 \
-p 8848:8848 \
--name nacos8848 \
--restart always \
nacos/nacos-server:1.4.2
  • 配置说明:
docker run -d \ # -d表示是后台运行
-e MODE=cluster \ # 以集群模式运行
-e NACOS_APPLICATION_PORT=8846 \ # 这台Nacos服务的port是8846
-e NACOS_SERVERS=192.168.92.129:8846,192.168.92.129:8847,192.168.92.129:8848 \ # Nacos集群的所有机器的信息
-e SPRING_DATASOURCE_PLATFORM=mysql \ # 使用外置MySQL存储配置信息
-e MYSQL_SERVICE_HOST=192.168.92.129 \ # 外置MySQL的IP
-e MYSQL_SERVICE_PORT=3306 \ # 外置MySQL的port
-e MYSQL_SERVICE_USER=root \ # 外置MySQL的用户名
-e MYSQL_SERVICE_PASSWORD=123456 \ # 外置MySQL的密码
-e MYSQL_SERVICE_DB_NAME=nacos_config \ # 外置MySQL的数据库,也就是Nacos的配置文件要存储得到哪个数据库,这个在单机版Nacos使用外置数据库时候介绍过
-e NACOS_SERVER_IP=192.168.92.129 \ # 这台Nacos服务的IP
-p 8846:8846 \ # 容器外部端口映射
--name nacos8846 \ # 给容器起个名字吧
--restart always \ #重启docker容器自动启动
nacos/nacos-server:1.4.2 # 运行哪个镜像

常见坑点:官网使用的是NACOS_SERVER_PORT,对于nacos/nacos-server:1.3.2镜像,自定义Nacos端口号的时候,不要使用NACOS_SERVER_PORT,要使用NACOS_APPLICATION_PORT!因为conf/application.properties里写了。

在这里插入图片描述

三、nginx

由Nginx进行转发(nginx下部署了3台Nacos集群)配置文件自行修改

  • 192.168.92.129节点
3.1. 运行临时容器

-目的,为了复制nginx容器内部的配置文件

mkdir /app/nginx/conf/ /app/nginx/dist -p
chmod 777 /app/nginx -R
docker run \
-d \
--name nginx-tmp \
-p 80:80 \
nginx:1.21.4
3.2. 配置拷贝
docker cp nginx-tmp:/etc/nginx/conf.d/default.conf /app/nginx/conf/default.conf
docker cp nginx-tmp:/usr/share/nginx/html/index.html /app/nginx/dist/index.html
3.3. 删除临时容器
docker rm -f nginx-tmp
3.4. 添加配置

在/app/nginx/conf/挂载目录下新建 nacos.conf

cd /app/nginx/conf/
vim nacos.conf

添加以下内容:

upstream nacos {server 192.168.92.129:8845 weight=1 max_fails=2 fail_timeout=10s;server 192.168.92.129:8846 weight=1 max_fails=2 fail_timeout=10s;server 192.168.92.129:8847 weight=1 max_fails=2 fail_timeout=10s;}server{listen  8848;server_name 192.168.92.129;location / {proxy_pass http://nacos;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header REMOTE-HOST $remote_addr;add_header X-Cache $upstream_cache_status;add_header Cache-Control no-cache;}}
3.5. 运行容器

这是在咱们生产真正的nginx容器

docker run \
-d \
--name nginx \
-p 80:80 \
-v /app/nginx/dist:/usr/share/nginx/html:ro \
-v /app/nginx/conf:/etc/nginx/conf.d \
--privileged=true \
--restart always \
nginx:1.21.4
四、验证和实战
4.1. nacos控制台

分别访问:默认账号:nacos 默认密码:nacos
http://192.168.92.129:8846/nacos
http://192.168.92.129:8847/nacos
http://192.168.92.129:8848/nacos

在这里插入图片描述

4.2. nginx验证

这是nginx端口是80
http://192.168.92.129/nacos/
在这里插入图片描述

4.3. 项目配置
server:port: 8000
spring:cloud:nacos:discovery:service: order2-servserver-addr: 192.168.92.129:80

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

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

相关文章

世界备份日,您的数据足够安全吗?

据IDC的统计数字表明:发生过机房灾难的公司中,有55%立即倒闭,剩下的45%中,因为数据丢失,有29%也在两年之内倒闭,生存下来的仅占16%。Gartner Group的数据也表…

急速上线 Serverless 钉钉机器人“防疫精灵”

新型冠状病毒疫情肆虐的春节,大家都过得人心惶惶,作为被关在家的程序狗,总觉得要做点什么。于是阿里云 IoT 事业部的几个同学就开始了防疫精灵的开发之路。 从点子到防疫宝,只花了一个下午时间;从防疫宝到钉钉全域机器…

可怕!公司部署了一个东西,悄悄盯着你……

来源 | 编程技术宇宙责编 | Carol封图 | CSDN付费下载自视觉中国我是一个网络监控软件,我被开发出来的使命就是监控网络中进进出出的所有通信流量。这个网络中所有人的上网内容我都看的清清楚楚,是不是很可怕?我被一家公司老板买来运行在一个…

docker nacos mysql nginx 集群多台

文章目录服务器编排一、mysql1. 创建挂载目录2. 赋予权限3. 运行容器4. 创建数据库5. 初始化脚本二、nacos-cluster2.1. 192.168.92.1292.2. 192.168.92.1322.3. 192.168.92.133三、nginx3.1. 运行临时容器3.2. 配置拷贝3.3. 删除临时容器3.4. 添加配置3.5. 运行容器四、验证和…

【开发者成长】5 分钟搞定 Linux 正则表达式

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 正则表达式是一种字符模式,用于在查找过程中匹配制定的字符。 元字符通常在Linux中分为两类: Shell…

【开发者成长】每个人都在编写草率代码

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 所有开发人员都认为自己写的代码完全能让人看懂,然而,他们却无法解密彼此的代码(更不用说维护代码了)…

疫情与资本寒冬双重危机下,智领云为何能拿到数千万融资?

经济下行,资本收缩,加之中美贸易摩擦,2019年可谓“难熬”。转眼2020年,资本寒冬未消退,疫情再来雪上加霜,募资搁置、投资放缓、退出暂停,本已残酷的一级市场寒冬再次被拉长。据清科研究中心数据…

云原生基础架构的最佳状态,就是没有架构?

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 云原生基础架构是通向云原生时代的基石,对于很多架构师来说,上云之后,架构为什么成为了云…

美军开发远程人脸识别系统,实现1公里内目标识别

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 编者按:本文来自微信公众号“学术头条”(ID:SciTouTiao),作者:小婷…

“蚂蚁漫步”背后的定位原理思考

作者 | 陆春晖责编 | 李雪敬头图 | CSDN下载自视觉中国蚂蚁的里程表最近看了一本很有意思的书,克利福德皮寇弗所著的《数学之书》。其中一篇《蚂蚁的里程表》,讲述蚂蚁惊人的定位导航能力,对机器人及无人车的设计者们有强烈的启示作用。笔者对…

10个 Python 工程师,9个不合格!!

毋庸置疑,Python越来越被认可为程序员新时代的风口语言。 无论是刚入门的程序员,还是年薪百万的 BATJ 的大牛都无可否认:Python的应用能力是成为一名码农大神的必要项。 所以,很多程序员把Python当做第一语言来学习。 但对于Pytho…

漫谈新零售:疫情对新零售的十大影响

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 席卷全球的新冠疫情,骤然影响了全人类的生活和工作方式。作为一起震动全球的黑天鹅事件,它对整个世界…

SpringBoot2.6.1 elasticsearch7.1.5 Vue

文章目录1. 版本兼容2. 导入依赖3. 配置4. 主页面5. 控制层6. 逻辑处理层7. pojo8. 工具类9. 常量类10. 前端页面项目开源地址1. 版本兼容 框架/组件版本SpringBoot2.6.1elasticsearch7.1.5 2. 导入依赖 <parent><groupId>org.springframework.boot</groupId&…

德勤发布2020技术趋势报告,五个新趋势可引发颠覆性变革

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; “2020 年的趋势将颠覆整个行业&#xff0c;并在未来十年重新定义业务&#xff0c;即使数字创新已成为各种规模企业的常规行为…

ZooKeeper的十二连问,你顶得了嘛?

来源 | 捡田螺的小男孩【前言】一线大厂ZooKeeper的十二连问&#xff0c;你顶得了嘛&#xff1f;本文已经收录到github&#xff1a;https://github.com/whx123/JavaHome什么是Zookeeper面试官&#xff1a;工作中使用过Zookeeper嘛&#xff1f;你知道它是什么&#xff0c;有什么…

【机器学习】脑机接口利器:错误率仅3%

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 编者按&#xff1a;本文来自微信公众号“AI科技评论”&#xff08;ID:aitechtalk&#xff09;&#xff0c;36氪经授权发布。 …

【人工智能】AI如何把招人效率提高四成

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 近日&#xff0c;受新冠肺炎病毒影响&#xff0c;美国劳工部报告显示&#xff0c;将近 330 万人申请了失业保险&#xff0c;这…

中国移动云智融合峰会 与您相约揽胜九天

当前&#xff0c;5G、AI和云计算等技术加速发展&#xff0c;成为建设智慧社会、网络强国、数字中国的根基。中国移动大力推动人工智能建设和运营&#xff0c;实现规模化AI赋能。在这一背景下中国移动融智战略布局将会有何不同?人工智能时代&#xff0c;云融产业如何打造智能生…

【安全】一名安全数据科学家的日常生活

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 导读&#xff1a;目前网络安全领域的工作岗位远远多于合格的人选&#xff0c;所以好消息是网络安全还是一个适合涉足的领域。…