本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意:这是 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消息系统的高性能服务器。
# 运行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
服务器将加载以下配置文件。任何命令行标志都可以覆盖这些值。
# 客户端端口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 = [] }
服务器选项: -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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429