Docker-nacos集群部署

发布时间:2024年01月19日

nacos单机模式

先拉取一个mysql

docker pull mysql:5.7

定义一个挂载目录

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

配置一个my.cnf放到conf目录下

开启mysql容器

?

?privileged=true:使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限

restart=always:容器自动启动参数,其值可以为[no,no-failure,always]

no为默认值,表示容器退出时,docker不自动重启容器

no-failure表示,若容器的退出状态非0,则docker自动重启容器,还可以指定重启次数,若超过次数未能启动容器则放弃

always表示,只要容器退出,则docker将自动重启容器

进入mysql容器登录并创建表

因为做了目录挂载所以容器会有这个脚本,切换到刚创建的数据库中执行sql

记得要提供权限?

grant all on *.* to root@'%' identified by '密码'

nacos安装

拉取一个镜像

docker pull nacos/nacos-server

运行启动nacos容器

?

注:记得开放端口?

再访问自己的nacos,查看是否可以访问

nacos集群配置

首先删除刚才的nacos容器,并创建集群nacos

docker rm -f nacos

在这里可以看到只启动了1台

?

把剩下的容器都加进来

?

虽然有3台容器,但做了端口映射的只有1太nacos容器?

?

反向代理(负载均衡)?

添加一个配置文件到nginx目录下

mkdir -p  /soft/nginx/conf.d

配置文件内容:

#服务器的集群
upstream nacostList {  
    server nacos01:8848 weight=1; 
    server nacos02:8848 weight=1; 
    server nacos03:8848 weight=1; 
} 
    
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容器

最后在页面上进行访问?

文章来源:https://blog.csdn.net/2201_75516800/article/details/135686284
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。