docker部署nacos集群
环境准备
系统 | ip | 插件 |
centos7 | 10.190.107.191 | docker、nginx、mysql |
centos7 | 10.190.107.192 | docker、nacos |
centos7 | 10.190.107.193 | docker、nacos |
centos7 | 10.190.107.194 | docker、nacos |
1、提前准备MySQL
创建 nacos 库 并执行sql 文件docker run -id -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=12345 mysql:5.7
去下面网站获取sql 文件
https://github.com/alibaba/nacos/blob/2.2.0/config/src/main/resources/META-INF/nacos-db.sql
2、每个节点启动nacos
需要修改 mysql 的信息
docker run -id \ -e PREFER_HOST_MODE=ip \ -e MODE=cluster \ -e NACOS_SERVERS="10.190.107.192:8848 10.190.107.193:8848" \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=10.190.107.191 \ -e MYSQL_SERVICE_DB_NAME=nacos \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -v /data/nacos/logs:/home/nacos/logs \ -v /data/nacos/plugins:/home/nacos/plugins \ -v /data/nacos/data:/home/nacos/data \ --restart=always \ --name=nacos \ --network=host \ -p 7848:7848 \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ nacos/nacos-server:v2.2.0
修改 NACOS_SERVERS 这个配置---- 指定其他两个节点的ip即可,不用指定自己的
# 192 的配置 -e NACOS_SERVERS="10.190.107.193:8848 10.190.107.194:8848"
# 193 的配置 -e NACOS_SERVERS="10.190.107.192:8848 10.190.107.194:8848"
# 194 的配置 -e NACOS_SERVERS="10.190.107.192:8848 10.190.107.193:8848"
注:其中端口 7848、8848、9848、9849是必须要开放的端口,8848是web页面端口,7848是集群数据同步接口,9848、9849是nacos 2.0.0以上的版本必须开放的端口。
3、配置nginx实现负载均衡
upstream nacos-server{ server 10.190.107.192:8848; server 10.190.107.193:8848; server 10.190.107.194:8848; } server { listen 80; server_name localhost; location / { proxy_pass http://nacos-server/nacos/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
}