注意:这是 nats镜像 的 amd64 架构构建的"按架构"仓库——更多信息,请参见镜像文档中的 "除amd64之外的架构?" 和***镜像FAQ中的 "镜像源在Git中已更改,现在该怎么办?"。
维护者:
NATS项目
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接(参见FAQ中的 "'Shared' 和 'Simple' 标签有什么区别?")
2.12.1-alpine3.22, 2.12-alpine3.22, 2-alpine3.22, alpine3.22, 2.12.1-alpine, 2.12-alpine, 2-alpine, alpine
2.12.1-scratch, 2.12-scratch, 2-scratch, scratch, 2.12.1-linux, 2.12-linux, 2-linux, linux
2.11.10-alpine3.22, 2.11-alpine3.22, 2.11.10-alpine, 2.11-alpine
2.11.10-scratch, 2.11-scratch, 2.11.10-linux, 2.11-linux
2.10.29-alpine3.22, 2.10-alpine3.22, 2.10.29-alpine, 2.10-alpine
2.10.29-scratch, 2.10-scratch, 2.10.29-linux, 2.10-linux
2.12.1, 2.12, 2, latest:
2.12.1-scratch2.11.10, 2.11:
2.11.10-scratch2.10.29, 2.10:
2.10.29-scratch提交issue的地址:
[***]
支持的架构:(更多信息)
amd64、arm32v6、arm32v7、arm64v8、ppc64le、s390x、windows-amd64
已发布镜像制品详情:
repo-info仓库的repos/nats/目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images仓库的library/nats标签
official-images仓库的library/nats文件(历史记录)
本描述的来源:
docs仓库的nats/目录(历史记录)
!logo
nats是NATS消息系统的高性能服务器。
bash# 运行NATS服务器 # 每个服务器暴露多个端口 # 4222用于客户端连接 # 8222是HTTP管理端口,用于信息报告 # 6222是集群路由端口 # # 运行容器时要实际发布端口,使用Docker端口映射标志 # "docker run -p <主机端口>:<容器端口>" 发布并映射一个或多个端口, # 或使用-P标志发布所有暴露的端口并映射到高阶端口 # # 注意不要与NATS Server自身的-p参数混淆。 # 例如,要运行NATS Server并让其监听4444端口, # 需按如下方式运行: # # docker run -p 4444:4444 amd64/nats -p 4444 # # 或者,如果要将4444端口发布为其他端口(例如5555): # # docker run -p 5555:4444 amd64/nats -p 4444 # # 要启用NATS JetStream,使用-js标志: # # docker run -p 4222:4222 amd64/nats -js # # 要将JetStream数据持久化到卷,可使用-v和-sd标志。 # 注意-v是Docker标志,而-js和-sd是NATS Server标志: # # docker run -p 4222:4222 -v nats:/data amd64/nats -js -sd /data # # 查看"docker run"获取更多信息。 $ docker run -d --name nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 amd64/nats [INF] Starting nats-server [INF] Version: 2.9.8 [INF] Git: [60e335a] [INF] Cluster: my_cluster [INF] Name: NB3YN6SPZF6MWTLPGYLRE2AD5VVWSW443RO43YR5GC62I463QPYGOL5C [INF] ID: NB3YN6SPZF6MWTLPGYLRE2AD5VVWSW443RO43YR5GC62I463QPYGOL5C [INF] Using configuration file: /etc/nats/nats-server.conf [INF] Starting http monitor on 0.0.0.0:8222 [INF] Listening for client connections on 0.0.0.0:4222 [INF] Server is ready [INF] Cluster name is my_cluster [INF] Listening for route connections on 0.0.0.0:6222 ... # 运行第二个服务器并将它们集群在一起.. # 注意,由于传递了参数,这会覆盖Dockerfile的CMD部分, # 因此需要传递所有参数,包括配置文件 $ docker run -d --name=nats-2 --link nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 amd64/nats -c /etc/nats/nats-server.conf --routes=nats-route://ruser:T0pS3cr3t@nats-main:6222 # 如果要验证路由是否已连接,可尝试: $ docker run -d --name=nats-2 --link nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 amd64/nats -c /etc/nats/nats-server.conf --routes=nats-route://ruser:T0pS3cr3t@nats-main:6222 -DV [INF] Starting nats-server [INF] Version: 2.9.8 [INF] Git: [60e335a] [DBG] Go build: go1.19.3 [INF] Cluster: my_cluster [INF] Name: NDFNAUTD4RKS2O7CMKMDMTV3DW5NIKFCQDDMXW2A5YXLUZWWX7RYFCKB [INF] ID: NDFNAUTD4RKS2O7CMKMDMTV3DW5NIKFCQDDMXW2A5YXLUZWWX7RYFCKB [INF] Using configuration file: /etc/nats/nats-server.conf [DBG] Created system account: "$SYS" [INF] Starting http monitor on 0.0.0.0:8222 [INF] Listening for client connections on 0.0.0.0:4222 [DBG] Get non local IPs for "0.0.0.0" [DBG] ip=172.17.0.2 [INF] Server is ready [DBG] maxprocs: Leaving GOMAXPROCS=4: CPU quota undefined [INF] Cluster name is my_cluster [INF] Listening for route connections on 0.0.0.0:6222 [DBG] Trying to connect to route on nats-main:6222 (172.17.0.3:6222) [DBG] 172.17.0.3:6222 - rid:4 - Route connect msg sent [INF] 172.17.0.3:6222 - rid:4 - Route connection created [DBG] 172.17.0.3:6222 - rid:4 - Registering remote route "NDQAU6HVD44TI2X5R2QRYJEIQR3MMHCFTW2BTSXBILBOZHJ4Z7AR7GGR" [DBG] 172.17.0.3:6222 - rid:4 - Sent local subscriptions to route
服务器将加载以下配置文件。任何命令行标志都可以覆盖这些值。
bash# 客户端端口4222,监听所有接口 port: 4222 # HTTP监控端口 monitor_port: 8222 # 用于将多个服务器集群在一起 cluster { # 建议设置集群名称 name: "my_cluster" # 路由连接在所有接口的6222端口接收 port: 6222 # 路由受保护,因此需要与--routes标志一起使用 # 例如 --routes=nats-route://ruser:T0pS3cr3t@otherdockerhost:6222 authorization { user: ruser password: T0pS3cr3t timeout: 2 } # 路由会被主动请求并连接到此服务器 # 此Docker镜像默认没有路由,但可以向nats-server docker镜像传递标志以创建到现有服务器的路由 routes = [] }
bash服务器选项: -a, --addr, --net <host> 绑定到主机地址(默认:0.0.0.0) -p, --port <port> 客户端使用端口(默认:4222) -n, --name --server_name <server_name> 服务器名称(默认:自动) -P, --pid <file> 存储PID的文件 -m, --http_port <port> HTTP监控端口 -ms,--https_port <port> HTTPS监控端口 -c, --config <file> 配置文件 -t 测试配置并退出 -sl,--signal <signal>[=<pid>] 向nats-server进程发送信号(stop, quit, reopen, reload) pid可以是PID(如1)或PID文件路径(如/var/run/nats-server.pid) --client_advertise <string> 向其他服务器广播的客户端URL 日志选项: -l, --log <file> 重定向日志输出到文件 -T, --logtime 日志条目带时间戳(默认:true) -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选项: -js, --jetstream 启用JetStream功能 -sd, --store_dir <dir> 设置存储目录 授权选项: --user <user> 客户端连接所需用户 --pass <password> 客户端连接所需密码 --auth <token> 客户端连接所需授权令牌 TLS选项: --tls 启用TLS,不验证客户端(默认:false) --tlscert <file>

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429