docker.nacos集群部署

一、mysql安装与基操

拉取mysql

docker pull mysql:8.0.27

定义挂载目录

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

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

开启mysql容器(bridge)

docker run -itd -p 2333:3306 --name mysql \
> -v /home/mysql/conf/my.cnf:/etc/my.cnf \
> -v /home/mysql/data:/var/lib/mysql \
> -v --privileged=true --restart=always -e MYSQL_ROOT_PASSWORD=root123 -d mysql:8.0.27

进入mysql

docker exec -it mysql bash

 mysql -u root -p

 进入nacos数据库查看表 

use nacos
show tables;

 select * from users;

 

 

 

二.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_SERVICE_PORT=3306 \
> -e MYSQL_SERVICE_DB_NAME=nacos \
> -e MYSQL_SERVICE_USER=root \
> -e MYSQL_SERVICE_PASSWORD=123456 \
> -p 9901:8848 \
> --name nacos \
> --restart=always \
> nacos/nacos-server

 

 这个界面是正常的,因为nacos的路径为/nacos

 

 

进入新增一个配置

 写这个的目的:查看持久化是否生效

 三.集群搭建

在控制台获得nacos配置

curl -X GET "http://172.17.0.3:8848/nacos/v1/cs/configs?dataId=test.yml&group=DEFAULT_GROUP"

因为之前我们刚搭上的单机的nacos ,得删掉

docker rm -f $(docker ps -aq)

 2.开启mynet容器 

docker run -itd -p 2333:3306 \
> --name 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=123456 \
> -d mysql:8.0.27

3.新建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_SERVICE_PORT=3306  -e MYSQL_SERVICE_DB_NAME=nacos  -e MYSQL_SERVICE_USER=root  -e MYSQL_SERVICE_PASSWORD=123456  -p 9901:8848  --name nacos01  --net mynent --ip 172.18.1.41  --restart=always  nacos/nacos-server

出现这个则代表运行成功。

 

docker run -itd -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_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -p 9902:8848 --name nacos02 --net mynet --ip 172.18.1.42 --restart=always nacos/nacos-server
 docker run -itd -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_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -p 9903:8848 --name nacos03 --net mynet --ip 172.18.1.43 --restart=always nacos/nacos-server

 

 

进入对应目录修改default文件

cd /home/nginx/conf.d/

 

#服务器的集群
upstream tomcatList {  #服务器集群名字
    server 172.17.0.5:8081 weight=1;  #服务器1   weight是权重的意思,权重越大,分配的概率越大
    server 172.17.0.3:8081 weight=2;  #服务器2   weight是权重的意思,权重越大,分配的概率越大
    server 172.17.0.4:8081 weight=2;  #服务器3   weight是权重的意思,权重越大,分配的概率越大
} 
    
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;
}
    
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;
    }
    
    location ^~/api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }
 
  }
 

开启nginx

docker run -itd --name nginx01 -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/html:/etc/nginx/html -v /home/nginx/log:/usr/log/nginx -p 8081:80 nginx

双网绑定

docker network connect mynet nginx 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值