
arm64v8/nats-streamingNATS 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。如果需要指定任何额外参数或修改这些选项,需要指定可执行文件名,如下所示:
bash$ docker run -p 4223:4223 -p 8223:8223 nats-streaming nats-streaming-server -p 4223 -m 8223
如果需要指定入口点:
bash$ docker run --entrypoint c:/nats-streaming-server/nats-streaming-server -p 4222:4222 -p 8222:8222 nats-streaming
如果需要向 NATS Streaming 服务器提供参数,只需将它们传递到命令行。例如,要将监听端口和监控端口分别更改为 4223 和 8223:
bash$ docker run -p 4223:4223 -p 8223:8223 nats-streaming -p 4223 -m 8223
如果需要指定入口点:
bash$ docker run --entrypoint /nats-streaming-server -p 4222:4222 -p 8222:8222 nats-streaming
bash# 运行 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(后台模式)启动,您将看到以下输出:
bash[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 : *** * [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
要使用基于文件的存储,请运行:
bash$ 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 : *** * [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 服务器:
bash$ docker run -d --name=nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 nats
现在,启动流服务器并链接到上述 Docker 镜像:
bash$ 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



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