NATS是一个开源、高性能的云原生消息系统。本Docker镜像是NATS服务器(nats-server)的容器化版本,专为windows-amd64架构构建,提供轻量级、可移植的消息传递服务部署方案。
4222:客户端连接端口,用于消息发布/订阅。8222:HTTP管理端口,提供服务器状态与监控信息。6222:集群路由端口,支持多服务器组建集群。2.12.1, 2.12, 2, latest:
2.12.1-windowsservercore, 2.12-windowsservercore, 2-windowsservercore, windowsservercore:
2.12.1-nanoserver, 2.12-nanoserver, 2-nanoserver, nanoserver:
2.11.10, 2.11:
2.11.10-windowsservercore, 2.11-windowsservercore:
2.11.10-nanoserver, 2.11-nanoserver:
2.10.29, 2.10:
2.10.29-windowsservercore, 2.10-windowsservercore:
2.10.29-nanoserver, 2.10-nanoserver:
windows-amd64架构优化,适合Windows Server或Windows容器环境。通过docker run命令启动单节点NATS服务器:
powershell# 启动NATS服务器,映射默认端口 docker run -d --name nats-main ` -p 4222:4222 ` # 客户端连接端口 -p 8222:8222 ` # HTTP管理端口 -p 6222:6222 ` # 集群路由端口 winamd64/nats
端口说明:
4222:客户端端口,供生产者/消费者连接。8222:HTTP管理端口,可通过http://localhost:8222/varz查看服务器状态。6222:集群路由端口,用于节点间通信。通过-js参数启用JetStream,并使用-sd指定数据存储目录(需挂载卷持久化数据):
powershell# 启用JetStream并持久化数据 docker run -d --name nats-js ` -p 4222:4222 ` -v nats-data:/data ` # 挂载卷存储JetStream数据 winamd64/nats -js -sd /data # -js启用JetStream,-sd指定数据目录
部署两个NATS节点组成集群(需先启动主节点,再启动从节点并连接主节点路由):
powershell# 1. 启动主节点(nats-main) docker run -d --name nats-main ` -p 4222:4222 -p 8222:8222 -p 6222:6222 ` winamd64/nats # 2. 启动从节点(nats-2),连接主节点路由 docker run -d --name nats-2 ` -p 4223:4222 -p 8223:8222 -p 6223:6222 ` # 避免端口冲突,映射到主机4223/8223/6223 --link nats-main ` # 链接主节点容器 winamd64/nats -c /etc/nats/nats-server.conf ` # 使用默认配置文件 --routes=nats-route://ruser:T0pS3cr3t@nats-main:6222 # 连接主节点路由端口
集群验证:通过从节点日志确认路由连接成功,或访问主节点http://localhost:8222/routez查看集群路由状态。
容器内默认配置文件路径为/etc/nats/nats-server.conf,内容如下:
conf# 客户端端口(所有接口监听) port: 4222 # HTTP监控端口 monitor_port: 8222 # 集群配置 cluster { # 集群名称(建议设置) name: "my_cluster" # 路由端口(所有接口监听) port: 6222 # 路由认证(连接集群需验证) authorization { user: ruser # 路由用户名 password: T0pS3cr3t # 路由密码 timeout: 2 # 认证超时(秒) } # 主动连接的路由列表(默认空,通过--routes参数动态指定) routes = [] }
NATS服务器支持通过命令行参数覆盖配置文件,常用选项如下:
服务器选项
-a, --addr <host>:绑定主机地址(默认:0.0.0.0)。-p, --port <port>:客户端端口(默认:4222)。-n, --name <name>:服务器名称(默认自动生成)。-m, --http_port <port>:HTTP监控端口(默认:8222)。-c, --config <file>:指定配置文件路径。JetStream选项
-js, --jetstream:启用JetStream功能。-sd, --store_dir <dir>:JetStream数据存储目录。集群选项
--routes <rurl-1,rurl-2>:指定要连接的集群路由URL(如nats-route://ruser:T0pS3cr3t@host:6222)。--cluster_name <name>:集群名称(覆盖配置文件中的cluster.name)。日志与调试选项
-D, --debug:启用调试日志。-V, --trace:启用协议跟踪日志。-l, --log <file>:日志输出到文件。NATS镜像提供两种Windows基础镜像变体,适用于不同场景:
windowsservercoremcr.microsoft.com/windows/servercore(Windows Server Core)。nanoservermcr.microsoft.com/windows/nanoserver(Windows Nano Server)。windows-amd64外,还支持amd64、arm32v6、arm64v8等(详见https://hub.docker.com/_/nats%EF%BC%89%E3%80%82详细许可信息请参见https://github.com/nats-io/gnatsd/blob/master/LICENSE%E3%80%82
以下是 winamd64/nats 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务