使用 Docker 完成 Nacos 集群部署

481 字
2 分钟
使用 Docker 完成 Nacos 集群部署

使用 Docker 完成 Nacos 集群部署#

拉取镜像#

Terminal window
docker pull nacos/nacos-server:v2.2.0

不要拉 latest 标签,生产环境务必指定版本号。

数据库准备#

Nacos 集群需要 MySQL 存储配置数据。建议使用 MySQL 5.7。

创建数据库 nacos_config,并执行 Nacos 官方提供的数据库初始化脚本(可在 Nacos 源码的 distribution/conf/nacos-mysql.sql 中找到,包含 config_infoconfig_info_aggrusersroles 等核心表)。

创建 Nacos 容器#

创建三个 Nacos 实例组成集群。将以下命令中的 IP 地址替换为你的服务器 IP。

节点 1(端口 8848)#

Terminal window
docker run -d \
-e PREFER_HOST_MODE=hostname \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8848 \
-e NACOS_SERVERS="your-server-ip:8848 your-server-ip:8858 your-server-ip:8868" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=your-server-ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=your-password \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=your-server-ip \
-p 8848:8848 -p 9848:9848 -p 9849:9849 \
--name my-nacos1 \
nacos/nacos-server:v2.2.0

节点 2(端口 8858)#

Terminal window
docker run -d \
-e PREFER_HOST_MODE=hostname \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8858 \
-e NACOS_SERVERS="your-server-ip:8848 your-server-ip:8858 your-server-ip:8868" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=your-server-ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=your-password \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=your-server-ip \
-p 8858:8858 -p 9858:9858 -p 9859:9859 \
--name my-nacos2 \
nacos/nacos-server:v2.2.0

节点 3(端口 8868)#

Terminal window
docker run -d \
-e PREFER_HOST_MODE=hostname \
-e MODE=cluster \
-e NACOS_APPLICATION_PORT=8868 \
-e NACOS_SERVERS="your-server-ip:8848 your-server-ip:8858 your-server-ip:8868" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=your-server-ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=your-password \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e NACOS_SERVER_IP=your-server-ip \
-p 8868:8868 -p 9868:9868 -p 9869:9869 \
--name my-nacos3 \
nacos/nacos-server:v2.2.0

验证集群#

访问任意节点的 http://ip:port/nacos,默认用户名密码为 nacos/nacos。在”集群管理”页面可以看到三个节点。

Nginx 负载均衡#

配置 upstream#

在 Nginx Proxy Manager 的安装目录下创建自定义配置:

/path/to/npm/data/nginx/custom/http.conf
upstream nacos {
server your-server-ip:8848;
server your-server-ip:8858;
server your-server-ip:8868;
}

配置反向代理#

在 NPM 管理页面添加代理:

Domain: nacos.your-domain.com
Forward Hostname: 127.0.0.1
Forward Port: 80

然后在 Advanced 中添加:

location / {
proxy_pass http://nacos;
}

配置 SSL 证书后,即可通过 https://nacos.your-domain.com/nacos 访问 Nacos 管理页面。

注意:如果使用 Nginx Proxy Manager,需要在容器挂载目录的 nginx/custom/ 下创建 http.conf,NPM 会自动引入该文件到全局配置中。

参考#

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
使用 Docker 完成 Nacos 集群部署
https://blog.zinzin.cc/posts/docker-nacos-cluster/
作者
gzdyj
发布于
2026-07-23
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
gzdyj
代码与生活,不断前行。
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
最新动态
站点统计
文章
8
分类
4
标签
28
总字数
4,961
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.14.5
文章许可
CC BY-NC-SA 4.0