最终Docker6:nacos集群部署

2024-01-19 21:36

本文主要是介绍最终Docker6:nacos集群部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 mysql容器构建

1.进入soft 文件夹,创建mysql文件夹

2.进入conf文件夹 放入my.conf 配置文件

3.运行mysql容器

4.进入script文件夹 导入 sql文件

5.进入mysql 容器 并登录

6.创建nacos 数据库并使用,运行nacos.sql文件

7.授予用户所有权限

部署单个nacos,连接mysql

1.下载nacos镜像

2.部署单个nacos

3. 开启nacos

4.打开防火墙开启nacos 所在8848 端口号

5.查看nacos 是否运行成功

6.登录nacos网址 

7.再次进入mysql 查看生成的表中是否有数据

8.在nacos 网址中生成一个配置文件 在一次查询数据表中 会发现生成了一条数据

9.删除nacos 重新部署一个nacos 再次查询数据库表数据,会发现数据还在实现nacos数据的持久化

部署nacos集群,实现负载均衡

1.创建自定义网络

2.将刚才部署的nacos连接到自定义网络中

3.查看刚才部署的nacos 网络中多了一条自定义网络(网桥+自定义网络)

4.部署集群nacos

5. 查看nacos01 部署的第一台nacos的运行情况

6.再次部署两台nacos

7.部署nginx实现负载均衡

8.编辑default.conf 文件 放入以下内容

9.运行nginx 部署到自定义网络中


 mysql容器构建


1.进入soft 文件夹,创建mysql文件夹

cd /softmkdir -p mysql/{conf,data,script}

2.进入conf文件夹 放入my.conf 配置文件

cd /mysql/conf

3.运行mysql容器

docker run  \
--name m1 \
-v /soft/mysql/conf/my.cnf:/etc/my.cnf \
-v /soft/mysql/data:/var/lib/mysql \
-v /soft/mysql/script:/script \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql/mysql-server:5.7

 可能会出现容器没有运行的情况,这个时候最好使用docker logs m1 查看一下容器日志

4.进入script文件夹 导入 sql文件

cd ../ cd /soft/mysql/script

5.进入mysql 容器 并登录

docker exec -it m1 bashmysql -uroot -p

 效果如下:

 

6.创建nacos 数据库并使用,运行nacos.sql文件

create database nacos;use nacos;source /script/nacos-mysql.sql;show tables;

可能会出现的错误:

如果命令后面没有加分号,会显示没有该指令; 

7.授予用户所有权限

grant all on *.* to root@'%' identified by '123456';

部署单个nacos,连接mysql


1.下载nacos镜像

#进入根目录 下载nacos 镜像
docker pull nacos/nacos-server

2.部署单个nacos

docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-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 my_net \
nacos/nacos-server

-itd 中的 d表示后台运行

3. 开启nacos

docker restart m1

4.打开防火墙开启nacos 所在8848 端口号

firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload

5.查看nacos 是否运行成功

docker logs -f nacos

 nacos运行报错:

 

解决方法:

 1.查看防火墙是否关闭

 2.上面的部署项目的代码是否正确

 3.将mysql也连接到自定义网络my_net

6.登录nacos网址 

如果网址进不去,但是nacos运行没有报错,看看是否运行了容器的ip地址,我们要使用虚拟机的ip地址,通过虚拟机连接到容器 

7.再次进入mysql 查看生成的表中是否有数据

docker exec -it m1 bash;use nacos;select * from config_info;

8.在nacos 网址中生成一个配置文件 在一次查询数据表中 会发现生成了一条数据

9.删除nacos 重新部署一个nacos 再次查询数据库表数据,会发现数据还在实现nacos数据的持久化

docker rm -f nacos#重新运行一个nacos
docker run -itd \
-e PREFER_HOST_MODE-ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.17.0.2 \
-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 \
nacos/nacos-server

部署nacos集群,实现负载均衡


1.创建自定义网络

docker network create  --subnet=172.20.0.1/16 my_net

2.将刚才部署的nacos连接到自定义网络中

docker network connect my_net m1

3.查看刚才部署的nacos 网络中多了一条自定义网络(网桥+自定义网络)

4.部署集群nacos

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos02:8848 nacos03:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos01 \
--net my_net --ip 172.20.0.101 \
--restart=always \
nacos/nacos-server

standalone单例模式 被改成了cluster 说明要部署多个

5. 查看nacos01 部署的第一台nacos的运行情况

docker logs nacos01

6.再次部署两台nacos

#部署第二台
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos01:8848 nacos02:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos03 \
--net my_net --ip 172.20.0.102 \
--restart=always \
nacos/nacos-server#部署第三台
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="nacos02:8848 nacos01:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos02 \
--net my_net --ip 172.20.0.103 \
--restart=always \
nacos/nacos-server

7.部署nginx实现负载均衡

cd /softlsmkdir nginxcd /nginxmkdir conf.dcd conf.d/

8.编辑default.conf 文件 放入以下内容

upstream nacosList {server nacos01:8848 weight=1;server nacos02:8848 weight=2;server nacos03:8848 weight=2;
}server {listen  80;server_name  www.zking.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;}}

 server nacos01:8848 weight=1;
 server nacos02:8848 weight=2;
 server nacos03:8848 weight=2;

代码中的nacos 为刚才部署的三台nacos

weignt代表nginx负载均衡中的权重规则,每个都为1 代表进入的概率是相同的

9.运行nginx 部署到自定义网络中

docker run -itd \
--name n1 \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-p 80:80 \
--net my_net \
nginx

效果图如下

这篇关于最终Docker6:nacos集群部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/623767

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

Codeforces Beta Round #47 C凸包 (最终写法)

题意慢慢看。 typedef long long LL ;int cmp(double x){if(fabs(x) < 1e-8) return 0 ;return x > 0 ? 1 : -1 ;}struct point{double x , y ;point(){}point(double _x , double _y):x(_x) , y(_y){}point op

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Solr部署如何启动

Solr部署如何启动 Posted on 一月 10, 2013 in:  Solr入门 | 评论关闭 我刚接触solr,我要怎么启动,这是群里的朋友问得比较多的问题, solr最新版本下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境 建立一个solr目录,把solr压缩包example目录下的内容复制

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati