本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
NATS Streaming Server 已被弃用。关键错误修复和安全修复将持续到2023年6月。需要持久化功能的NATS启用应用程序应使用 JetStream。
维护者:
NATS项目
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接无支持的标签
问题提交地址:
[***]
支持的架构:(更多信息)
无支持的架构
已发布镜像工件详情:
repo-info 仓库的 repos/nats-streaming/ 目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/nats-streaming 标签
official-images 仓库的 library/nats-streaming 文件 (历史记录)
本描述的来源:
docs 仓库的 nats-streaming/ 目录 (历史记录)
!logo
nats-streaming 是 NATS 消息系统的高性能流服务器。
请注意,流服务器本身与以前的版本向后兼容,但 v0.15.0+ 现在嵌入了 NATS Server 2.0,这意味着如果使用嵌入式 NATS 服务器并希望将其路由到现有的 v0.14.3- 服务器,由于 NATS Server 路由协议的更改,这将失败。不过,您可以使用 v0.15.0+ 并将其连接到现有的 NATS 集群,因此可以混合使用 v0.15.0 和 v0.14.3- 流服务器。
由于 Windows Docker 镜像构建方式的限制,不带参数运行镜像时,NATS Streaming 服务器将使用基于内存的存储,监听端口 4222 和监控端口 8222。如果需要指定任何额外参数或修改这些选项,需要指定可执行文件名,如下所示:
$ docker run -p 4223:4223 -p 8223:8223 nats-streaming nats-streaming-server -p 4223 -m 8223
如果需要指定入口点:
$ docker run --entrypoint c:/nats-streaming-server/nats-streaming-server -p 4222:4222 -p 8222:8222 nats-streaming
如果需要向 NATS Streaming 服务器提供参数,只需将它们传递到命令行。例如,要将监听端口和监控端口分别更改为 4223 和 8223:
$ docker run -p 4223:4223 -p 8223:8223 nats-streaming -p 4223 -m 8223
如果需要指定入口点:
$ docker run --entrypoint /nats-streaming-server -p 4222:4222 -p 8222:8222 nats-streaming
# 运行 NATS Streaming 服务器 # 每个服务器公开多个端口 # 4222 用于客户端连接。 # 8222 是用于信息报告的 HTTP 管理端口。 # # 要在运行容器时实际发布端口,请使用 Docker 端口映射 # 标志 "docker run -p <主机端口>:<容器端口>" 来发布和映射一个或多个端口, # 或使用 -P 标志发布所有暴露的端口并将它们映射到高阶端口。 # # 这不应与 NATS Streaming Server 自身的 -p 参数混淆。 # 例如,要运行 NATS Streaming Server 并让其监听端口 4444, # 您需要这样运行: # # docker run -p 4444:4444 nats-streaming -p 4444 # # 或者,如果您想将端口 4444 发布为不同的端口,例如 5555: # # docker run -p 5555:4444 nats-streaming -p 4444 # # 有关更多信息,请查看 "docker run"。 $ docker run -d -p 4222:4222 -p 8222:8222 nats-streaming
如果使用 -ti 而不是 d(后台模式)启动,您将看到以下输出:
[1] 2022/10/11 14:57:50.404688 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.25.2 [1] 2022/10/11 14:57:50.404739 [INF] STREAM: ServerID: fbZJjwGYLBpNM5I8z23NSN [1] 2022/10/11 14:57:50.404741 [INF] STREAM: Go version: go1.19.2 [1] 2022/10/11 14:57:50.404743 [INF] STREAM: Git commit: [9e599667] [1] 2022/10/11 14:57:50.406004 [INF] Starting nats-server [1] 2022/10/11 14:57:50.406009 [INF] Version: 2.9.3 [1] 2022/10/11 14:57:50.406011 [INF] Git: [25e82d7] [1] 2022/10/11 14:57:50.406013 [INF] Name: NDQOBTB34ECZWAKAJAREPEXQPXGKUEJEZINCHV2CIHGGJQCSCVPQPU5W [1] 2022/10/11 14:57:50.406015 [INF] ID: NDQOBTB34ECZWAKAJAREPEXQPXGKUEJEZINCHV2CIHGGJQCSCVPQPU5W [1] 2022/10/11 14:57:50.406423 [INF] Listening for client connections on 0.0.0.0:4222 [1] 2022/10/11 14:57:50.406679 [INF] Server is ready [1] 2022/10/11 14:57:50.434935 [INF] STREAM: Recovering the state... [1] 2022/10/11 14:57:50.434945 [INF] STREAM: No recovered state [1] 2022/10/11 14:57:50.435271 [INF] STREAM: Message store is MEMORY [1] 2022/10/11 14:57:50.435303 [INF] STREAM: ---------- Store Limits ---------- [1] 2022/10/11 14:57:50.435306 [INF] STREAM: Channels: 100 * [1] 2022/10/11 14:57:50.435308 [INF] STREAM: --------- Channels Limits -------- [1] 2022/10/11 14:57:50.435310 [INF] STREAM: Subscriptions: 1000 * [1] 2022/10/11 14:57:50.435311 [INF] STREAM: Messages : 1000000 * [1] 2022/10/11 14:57:50.435313 [INF] STREAM: Bytes : 976.56 MB * [1] 2022/10/11 14:57:50.435315 [INF] STREAM: Age : unlimited * [1] 2022/10/11 14:57:50.435316 [INF] STREAM: Inactivity : unlimited * [1] 2022/10/11 14:57:50.435318 [INF] STREAM: ---------------------------------- [1] 2022/10/11 14:57:50.435320 [INF] STREAM: Streaming Server is ready
要使用基于文件的存储,请运行:
$ docker run -d -p 4222:4222 -p 8222:8222 nats-streaming -store file -dir datastore [1] 2022/10/11 14:59:45.818823 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.25.2 [1] 2022/10/11 14:59:45.818874 [INF] STREAM: ServerID: mNhpLEpCO6WFqrnD9CYEZa [1] 2022/10/11 14:59:45.818876 [INF] STREAM: Go version: go1.19.2 [1] 2022/10/11 14:59:45.818877 [INF] STREAM: Git commit: [9e599667] [1] 2022/10/11 14:59:45.820192 [INF] Starting nats-server [1] 2022/10/11 14:59:45.820196 [INF] Version: 2.9.3 [1] 2022/10/11 14:59:45.820198 [INF] Git: [25e82d7] [1] 2022/10/11 14:59:45.820200 [INF] Name: NCDMFFEVOSPVVGQZVEQ3O5434LHF2KAPOR5LKAI7YEIAFIABTHQLZRLA [1] 2022/10/11 14:59:45.820202 [INF] ID: NCDMFFEVOSPVVGQZVEQ3O5434LHF2KAPOR5LKAI7YEIAFIABTHQLZRLA [1] 2022/10/11 14:59:45.820688 [INF] Listening for client connections on 0.0.0.0:4222 [1] 2022/10/11 14:59:45.820849 [INF] Server is ready [1] 2022/10/11 14:59:45.848443 [INF] STREAM: Recovering the state... [1] 2022/10/11 14:59:45.848737 [INF] STREAM: No recovered state [1] 2022/10/11 14:59:45.849050 [INF] STREAM: Message store is FILE [1] 2022/10/11 14:59:45.849054 [INF] STREAM: Store location: datastore [1] 2022/10/11 14:59:45.849070 [INF] STREAM: ---------- Store Limits ---------- [1] 2022/10/11 14:59:45.849072 [INF] STREAM: Channels: 100 * [1] 2022/10/11 14:59:45.849073 [INF] STREAM: --------- Channels Limits -------- [1] 2022/10/11 14:59:45.849075 [INF] STREAM: Subscriptions: 1000 * [1] 2022/10/11 14:59:45.849076 [INF] STREAM: Messages : 1000000 * [1] 2022/10/11 14:59:45.849077 [INF] STREAM: Bytes : 976.56 MB * [1] 2022/10/11 14:59:45.849078 [INF] STREAM: Age : unlimited * [1] 2022/10/11 14:59:45.849079 [INF] STREAM: Inactivity : unlimited * [1] 2022/10/11 14:59:45.849080 [INF] STREAM: ---------------------------------- [1] 2022/10/11 14:59:45.849082 [INF] STREAM: Streaming Server is ready
您也可以连接到在 Docker 镜像中运行的远程 NATS 服务器。首先,运行 NATS 服务器:
$ docker run -d --name=nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 nats
现在,启动流服务器并链接到上述 Docker 镜像:
$ docker run -d --link nats-main nats-streaming -store file -dir datastore -ns nats://nats-main:4222 [1] 2022/10/11 15:00:56.780184 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0
免费版仅支持 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