irpas技术客

docker部署nacos集群_m0_67392931

大大的周 2415

mysql安装与基本操作 拉取mysql

docker pull mysql:8.0.27

定义挂载目录

mkdir -p /home/mysql/{conf,data}

配置my.cnf(windows中是my.ini)

这里步骤省略

开启mysql容器(bridge)

docker run -it

-p 2333:3306

–name mysql

-v /home/mysql/conf/my.cnf:/etc/my.cnf

-v /home/mysql/data:/var/lib/mysql

–privileged=true

–restart=always

-e MYSQL_ROOT_PASSWORD=root123

-d mysql:8.0.27

进入容器

docker exec -it mysql bash

登录mysql

mysql -uroot -p

查看user表

select host,user,authentication_string,plugin from user;

查看root权限

SHOW GRANTS FOR ‘root’@‘%’;

nacos数据库配置

这里用的Idea连接(navicat无法连接):

连接成功后 新建架构 运行nacos-mysql.sql脚本

nacos服务部署

1.拉取镜像

docker pull nacos/nacos-server

2.启动nacos(设置启动参数)

docker run -it

-e PREFER_HOST_MODE=ip

-e MODE=standalone

-e SPRING_DATASOURCE_PLATFORM=mysql

-e MYSQL_SERVICE_HOST=172.17.0.2

-e MYSQL_SERIVCE_PORT=3306

-e MYSQL_SERVICE_DB_NAME=nacos

-e MYSQL_SERVICE_USER=root

-eMYSQL_SERVICE_PASSWORD=root123

-p 9901:8848

–name nacos

–restart=always nacos/nacos-server

注:如果出现 No Datasource Set

(1)检查ip是否对应

(2)是否在同一网段下

(3)检查数据库名称是否对应

(4)检查用户名与密码

(5)检查数据库中是否存在对应的表(是否执行脚本)

3.进行nacos数据持久化测试

浏览器访问 192.168.23.131:9901 登录nacos 新建配置text.yml

4.在控制台获得nacos配置

curl -XGET “http://ip:8848/nacos/v1/cs/configsdataId=xx.yml&group=DEFAULT_GROUP”

如图:

数据库中config_info表也会有一条数据

nacos集群搭建

基于自定义网络:可以自定义ip

删除之前的容器

docker rm -f $(docker ps -aq)

重新开启mysql容器(默认的bridge网桥无法指定固定的ip,则会导致mysql服务的ip不固定,最好配置为自定义网络)

docker run -it

-p 2333:3306

–name mysql

–net mynet

–ip 172.18.1.30

-v /home/mysql/conf/my.cnf:/etc/my.cnf

-v /home/mysql/data:/var/lib/mysql

–privileged=true

–restart=always

-e MYSQL_ROOT_PASSWORD=root123

-d mysql:8.0.27

开启nacos容器

docker run -it

-e PREFER_HOST_MODE=ip

-e MODE=cluster

-e NACOS_SERVERS=“172.18.1.42:8848 172.18.1.43:8848”

-e SPRING_DATASOURCE_PLATFORM=mysql

-e MYSQL_SERVICE_HOST=172.18.1.30

-e MYSQL_SERIVCE_PORT=3306

-e MYSQL_SERVICE_DB_NAME=nacos

-e MYSQL_SERVICE_USER=root

-e MYSQL_SERVICE_PASSWORD=root123

-p 9901:8848–name nacos01

–net mynet --ip 172.18.1.41

–restart=always nacos/nacos-server

docker run -it

-e PREFER_HOST_MODE=ip

-e MODE=cluster

-e NACOS_SERVERS=“172.18.1.41:8848 172.18.1.43:8848”

-e SPRING_DATASOURCE_PLATFORM=mysql

-e MYSQL_SERVICE_HOST=172.18.1.30

-e MYSQL_SERIVCE_PORT=3306

-e MYSQL_SERVICE_DB_NAME=nacos

-e MYSQL_SERVICE_USER=root

-e MYSQL_SERVICE_PASSWORD=root123

-p 9902:8848–name nacos02

–net mynet --ip 172.18.1.42

–restart=always nacos/nacos-server

docker run -it

-e PREFER_HOST_MODE=ip

-e MODE=cluster

-e NACOS_SERVERS=“172.18.1.41:8848 172.18.1.42:8848”

-e SPRING_DATASOURCE_PLATFORM=mysql

-e MYSQL_SERVICE_HOST=172.18.1.30

-e MYSQL_SERIVCE_PORT=3306

-e MYSQL_SERVICE_DB_NAME=nacos

-e MYSQL_SERVICE_USER=root

-e MYSQL_SERVICE_PASSWORD=root123

-p 9903:8848–name nacos03

–net mynet --ip 172.18.1.43

–restart=always nacos/nacos-server

浏览器访问查看是否成功访问

怎么看集群是否搭建成功?点击集群管理–>节点列表

集群搭建成功~ 但是这三个不互通,接下来

|

|

v

反向代理(负载均衡)

开启nginx容器

docker run -itd

–name nginx

–net mynet

-v /home/nginx/conf.d:/etc/nginx/conf.d

-v /home/nginx/html:/etc/nginx/html

-v /home/nginx/log:/etc/log/nginx

-p 8080:80 nginx

在/home/nginx/conf.d/default.conf中配置:

upstream nacosList { server 172.18.1.41:8848 weight=1; server 172.18.1.42:8848 weight=2; server 172.18.1.43:8848 weight=2; }

location /nacos { proxy_pass http://nacosList; }

重读配置文件

nacos -s reload

nacos集群部署OK~

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #docker部署nacos集群 #删除之前的容器