arm32v6/natsarm32v6/nats是NATS消息系统服务器的Docker镜像,专为arm32v6架构构建。NATS是一个开源、高性能的云原生消息系统,旨在提供低延迟、高吞吐量的异步通信能力,适用于分布式系统和微服务架构。
注意:本镜像为nats官方镜像的"按架构"仓库,仅包含arm32v6架构构建。更多架构信息参见官方镜像文档。
| 标签 | 对应的Dockerfile |
|---|---|
2.12.1-alpine3.22, 2.12-alpine3.22, 2-alpine3.22, alpine3.22, 2.12.1-alpine, 2.12-alpine, 2-alpine, alpine | Dockerfile |
2.12.1-scratch, 2.12-scratch, 2-scratch, scratch, 2.12.1-linux, 2.12-linux, 2-linux, linux | Dockerfile |
2.11.10-alpine3.22, 2.11-alpine3.22, 2.11.10-alpine, 2.11-alpine | Dockerfile |
2.11.10-scratch, 2.11-scratch, 2.11.10-linux, 2.11-linux | Dockerfile |
2.10.29-alpine3.22, 2.10-alpine3.22, 2.10.29-alpine, 2.10-alpine | Dockerfile |
2.10.29-scratch, 2.10-scratch, 2.10.29-linux, 2.10-linux | Dockerfile |
| 标签 | 对应的基础镜像 |
|---|---|
2.12.1, 2.12, 2, latest | 2.12.1-scratch |
2.11.10, 2.11 | 2.11.10-scratch |
2.10.29, 2.10 | 2.10.29-scratch |
启动单节点NATS服务器,映射默认端口:
bashdocker run -d \ --name nats-server \ -p 4222:4222 # 客户端连接端口 \ -p 8222:8222 # HTTP管理端口 \ -p 6222:6222 # 集群路由端口 \ arm32v6/nats
修改服务器监听端口(需同时调整容器端口映射):
bash# 服务器监听4444端口,宿主机映射5555端口 docker run -d \ --name nats-custom-port \ -p 5555:4444 \ arm32v6/nats -p 4444
启用JetStream功能(持久化流处理):
bashdocker run -d \ --name nats-jetstream \ -p 4222:4222 \ arm32v6/nats -js
使用Docker卷持久化JetStream数据:
bash# 创建数据卷 docker volume create nats-data # 启动服务器并挂载卷 docker run -d \ --name nats-js-persist \ -p 4222:4222 \ -v nats-data:/data \ # 挂载数据卷到容器/data目录 arm32v6/nats -js -sd /data # -sd指定JetStream存储目录
部署两个节点组成集群:
bash# 启动第一个节点(主节点) docker run -d \ --name nats-node1 \ -p 4222:4222 \ -p 6222:6222 \ arm32v6/nats -cluster name=my_cluster,port=6222 # 启动第二个节点并连接到主节点 docker run -d \ --name nats-node2 \ -p 4223:4222 \ -p 6223:6222 \ --link nats-node1 \ # 链接到主节点容器 arm32v6/nats -cluster name=my_cluster,port=6222 --routes=nats-route://ruser:T0pS3cr3t@nats-node1:6222
创建docker-compose.yml配置文件:
yamlversion: '3' services: nats: image: arm32v6/nats:alpine container_name: nats-server ports: - "4222:4222" # 客户端端口 - "8222:8222" # 管理端口 - "6222:6222" # 集群端口 volumes: - nats-data:/data # 持久化数据卷 command: -js -sd /data # 启用JetStream并指定存储目录 restart: unless-stopped volumes: nats-data: # 定义数据卷
启动服务:
bashdocker-compose up -d
容器内默认配置文件路径:/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 = [] }
NATS服务器支持以下核心命令行参数(完整列表见下方):
| 参数 | 说明 |
|---|---|
-a, --addr <host> | 绑定主机地址(默认:0.0.0.0) |
-p, --port <port> | 客户端端口(默认:4222) |
-m, --http_port <port> | HTTP监控端口 |
-c, --config <file> | 指定配置文件路径 |
-js, --jetstream | 启用JetStream功能 |
-sd, --store_dir <dir> | JetStream存储目录 |
--routes <urls> | 集群路由URL列表(逗号分隔) |
-D, --debug | 启用调试日志 |
-V, --trace | 启用协议跟踪 |
完整命令行选项:
bashServer Options: -a, --addr, --net <host> 绑定主机地址(默认:0.0.0.0) -p, --port <port> 客户端端口(默认:4222) -n, --name, --server_name <name> 服务器名称(默认:自动生成) -P, --pid <file> PID文件路径 -m, --http_port <port> HTTP监控端口 -ms,--https_port <port> HTTPS监控端口 -c, --config <file> 配置文件路径 -t 测试配置并退出 -sl,--signal <signal>[=<pid>] 发送信号给服务器进程(stop, quit, reopen, reload) --client_advertise <url> 客户端连接URL(用于集群广告) --ports_file_dir <dir> 端口文件存储目录 Logging Options: -l, --log <file> 日志输出文件 -T, --logtime 日志时间戳(默认:启用) -s, --syslog 输出到syslog/windows事件日志 -r, --remote_syslog <addr> 远程syslog服务器地址(udp://localhost:514) -D, --debug 启用调试日志 -V, --trace 跟踪原始协议 -VV 详细跟踪(含系统账号) -DV 同时启用调试和跟踪 -DVV 调试和详细跟踪 --log_size_limit <limit> 日志文件大小限制(默认:自动) --max_traced_msg_len <len> 跟踪消息最大打印长度(默认:无限制) JetStream Options: -js, --jetstream 启用JetStream功能 -sd, --store_dir <dir> JetStream存储目录 Authorization Options: --user <user> 客户端连接用户名 --pass <password> 客户端连接密码 --auth <token> 客户端连接令牌 TLS Options: --tls 启用TLS(不验证客户端) --tlscert <file> 服务器证书文件 --tlskey <file> 服务器私钥文件 --tlsverify 启用TLS并验证客户端证书 --tlscacert <file> 客户端CA证书文件 Cluster Options: --routes <rurl-1,rurl-2> 集群路由URL列表 --cluster <url> 集群广告URL --cluster_name <name> 集群名称(默认:自动生成) --no_advertise <bool> 不向客户端广告集群信息 --cluster_advertise <url> 集群广告URL --connect_retries <num> 路由连接重试次数 --cluster_listen <url> 集群监听URL Profiling Options: --profile <port> 性能分析HTTP端口 Common Options: -h, --help 显示帮助信息 -v, --version 显示版本信息 --help_tls TLS帮助信息
arm32v6/nats:<version>(默认版本)基于scratch(空镜像)构建,仅包含NATS服务器二进制文件,体积最小(~10MB),适合对镜像大小敏感的场景。由于基于scratch,不包含Shell和基础系统工具,仅适用于直接运行NATS服务器。
arm32v6/nats:<version>-alpine基于Alpine Linux构建,包含精简的系统环境(~5MB基础镜像),提供基本的Shell工具,便于调试和扩展。适合需要在容器内执行简单系统命令的场景,同时保持较小的镜像体积。
NATS服务器软件许可协议参见GitHub仓库。
Docker镜像包含的第三方软件(如基础系统组件)可能具有独立许可证,详细信息参见repo-info仓库。
使用本镜像即表示您同意遵守所有包含软件的许可条款。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务