nacos-server

nacos/nacos-server

nacos
自动构建

用于简化Nacos服务部署的Docker镜像,支持单机和集群模式,提供便捷的环境变量配置、快速启动及自定义数据库集成,适用于服务发现与配置管理场景。

569 次收藏下载次数: 0状态:自动构建维护者:nacos仓库类型:镜像最近更新:6 天前
让 AI 帮你使用轩辕镜像?

如果你使用 DeepSeek元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AIDeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

下载命令
点击查看

Nacos Docker 镜像文档

!https://img.shields.io/docker/pulls/nacos/nacos-server.svg?maxAge=60480

该项目提供用于简化https://github.com/alibaba/nacos%E9%83%A8%E7%BD%B2%E7%9A%84Docker%E9%95%9C%E5%83%8F%EF%BC%8CNacos%E6%98%AF%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%BC%80%E6%BA%90%E7%9A%84%E5%8A%A8%E6%80%81%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E3%80%81%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86%E5%92%8C%E6%9C%8D%E5%8A%A1%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%E3%80%82

项目目录

  • build:Nacos Docker镜像的构建源代码
  • env:Docker Compose的环境变量配置文件
  • example:Nacos服务的Docker Compose示例配置

注意事项

  • 最新的nacos/nacos-server:latest镜像已移除数据库主从镜像,具体原因参考https://github.com/nacos-group/nacos-docker/wiki/%E7%A7%BB%E9%99%A4%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%BB%E4%BB%8E%E9%95%9C%E5%83%8F%E9%85%8D%E7%BD%AE
  • 自Nacos 1.3.1版本起,数据库存储升级至8.0,且保持向下兼容
  • 若使用自定义数据库,首次部署需手动初始化https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql

镜像概述与主要用途

Nacos Docker镜像旨在提供便捷的Nacos服务部署方式,支持单机模式和集群模式,适用于开发、测试及生产环境。通过环境变量配置即可快速调整服务参数,无需复杂的手动配置,简化微服务架构中的服务发现与配置管理基础设施搭建。

核心功能与特性

  • 支持单机(standalone)和集群(cluster)两种部署模式
  • 兼容MySQL 5.7及8.0数据库,支持自定义数据库配置
  • 提供丰富的环境变量配置,覆盖服务端口、JVM参数、认证授权等核心参数
  • 支持挂载自定义配置文件,满足高级配置需求
  • 集成健康检查与监控指标,可对接Prometheus+Grafana监控体系

使用场景

  • 开发环境快速部署:通过单机模式快速启动Nacos服务,用于本地开发调试
  • 测试环境集群验证:通过Docker Compose快速搭建Nacos集群,验证分布式服务发现与配置同步
  • 生产环境基础架构:结合自定义数据库和持久化存储,构建稳定的服务注册与配置中心

快速启动

通过以下命令可快速启动单机模式的Nacos服务:

shell
docker run --name nacos-quick -e MODE=standalone -p 8849:8848 -d docker.xuanyuan.run/nacos/nacos-server:2.0.2
  • 参数说明:
    • --name nacos-quick:容器名称
    • -e MODE=standalone:指定单机模式
    • -p 8849:8848:端口映射(主机端口:容器端口)
    • -d:后台运行
    • nacos/nacos-server:2.0.2:镜像名称及版本

高级用法

版本调整

可通过修改Compose文件中的环境变量调整Nacos镜像版本,配置文件路径:example/.env

dotenv
NACOS_VERSION=2.0.2  # 修改为目标版本号

部署步骤

1. 克隆项目

powershell
git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

2. 单机模式(内置Derby数据库)

适用于快速测试,无需外部数据库:

powershell
docker-compose -f example/standalone-derby.yaml up

3. 单机模式(MySQL数据库)

使用MySQL 5.7

powershell
docker-compose -f example/standalone-mysql-5.7.yaml up

使用MySQL 8

powershell
docker-compose -f example/standalone-mysql-8.yaml up

4. 集群模式

基于主机名的集群部署:

powershell
docker-compose -f example/cluster-hostname.yaml up

基本操作示例

服务注册

powershell
curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

服务发现

powershell
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'

发布配置

powershell
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"

获取配置

powershell
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

访问控制台

浏览器访问:[***]

常见配置参数

参数名称描述可选值及默认值
MODE部署模式cluster/standalone,默认cluster
NACOS_SERVERS集群节点地址示例:ip1:port1 ip2:port2 ip3:port3
PREFER_HOST_MODE是否支持主机名hostname/ip,默认ip
NACOS_APPLICATION_PORT服务端口默认8848
NACOS_SERVER_IP自定义服务器IP(多网卡场景)-
SPRING_DATASOURCE_PLATFORM数据库平台(单机模式支持)mysql/empty,默认empty
MYSQL_SERVICE_HOSTMySQL主机地址-
MYSQL_SERVICE_PORTMySQL端口默认3306
MYSQL_SERVICE_DB_NAMEMySQL数据库名-
MYSQL_SERVICE_USERMySQL用户名-
MYSQL_SERVICE_PASSWORDMySQL密码-
MYSQL_DATABASE_NUM数据库数量默认1
MYSQL_SERVICE_DB_PARAM数据库连接参数默认:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
JVM_XMSJVM初始堆内存默认1g
JVM_XMXJVM最大堆内存默认1g
JVM_XMNJVM新生代内存默认512m
JVM_MS元空间初始大小默认128m
JVM_MMS元空间最大大小默认320m
NACOS_DEBUG是否启用远程调试y/n,默认n
TOMCAT_ACCESSLOG_ENABLED是否启用Tomcat访问日志默认false
NACOS_AUTH_SYSTEM_TYPE认证系统类型仅支持'nacos',默认nacos
NACOS_AUTH_ENABLE是否启用认证默认false
NACOS_AUTH_TOKEN_EXPIRE_SECONDS令牌过期时间(秒)默认*******
NACOS_AUTH_TOKEN默认令牌密钥默认:SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_CACHE_ENABLE是否启用认证信息缓存默认false
MEMBER_LIST集群节点列表(配置文件/命令行参数)示例:192.168.16.101:8847?raft_port=8807,...
EMBEDDED_STORAGE集群模式嵌入式存储(无需MySQL)embedded,默认none
NACOS_SECURITY_IGNORE_URLS安全忽略URL列表默认:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**

高级配置

若上述环境变量配置无法满足需求,可将自定义配置文件custom.properties挂载至容器的/home/nacos/init.d/目录,该文件中的Spring属性配置优先级高于镜像内置的application.properties

示例参考:cluster-hostname.yaml

Nacos + Grafana + Prometheus

监控配置参考:Nacos监控指南

注意:Grafana添加数据源时,数据源地址必须为**[***]

nacos/nacos-server 国内 Docker 镜像拉取说明

在国内网络环境下,直接使用 docker pull 访问 Docker Hub 官方仓库时,较常遇到连接超时、TLS 握手失败或 registry 响应缓慢等情况。这类问题多与跨境链路质量、运营商策略及客户端 DNS 解析有关,并非单个镜像本身异常。

轩辕镜像提供两种常用加速方式:一是使用公共加速域名 docker.xuanyuan.run 拉取(可参考 登录认证方式);二是在控制台配置 专属域名拉取,将拉取命令中的 registry 前缀替换为分配的专属域名,通常能提升成功率与稳定性。

nacos/nacos-server 为例,加速拉取命令格式为 docker pull docker.xuanyuan.run/nacos/nacos-server:<标签>,请将 <标签> 替换为具体版本。下方「镜像拉取方式」区块提供与本文一致的命令示例,可直接复制使用。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面

轩辕镜像加速拉取命令点我查看更多 nacos-server 镜像标签

docker pull docker.xuanyuan.run/nacos/nacos-server:<标签>

DockerHub 原生拉取命令

docker pull nacos/nacos-server:<标签>

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载在线技术支持99.95% SLA 保障付费会员免广告