• docker部署nacos集群


    mysql安装与基本操作

    1. 拉取mysql

    docker pull mysql:8.0.27

    1. 定义挂载目录

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

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

    这里步骤省略

    1. 开启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

    1. 进入容器

    docker exec -it mysql bash

    1. 登录mysql

    mysql -uroot -p

    1. 查看user表

    select host,user,authentication_string,plugin from user;

    1. 查看root权限

    SHOW GRANTS FOR ‘root’@‘%’;

    1. 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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    【场景化解决方案】慧穗云开票,让钉钉与业务数据流转更灵活
    优选商机+沃视获客+外呼系统+智能CRM
    如何使用Flutter开发执行操作系统shell命令的工具
    python | 第六章:组合数据类型
    vue使用postcss-pxtorem实现自适应
    多国语言翻译-多国翻译语言软件免费
    Ros noetic 机器人坐标记录运动路径和发布 实战教程(A)
    PyScript:在浏览器中释放Python的强大
    文件上传漏洞实验-通过截取http请求绕过前端javascript验证进行文件上传
    事件绑定-回调函数
  • 原文地址:https://blog.csdn.net/m0_67392931/article/details/126082640