
winamd64/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 Server:
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.25.2 [1] 2022/10/11 15:00:56.780235 [INF] STREAM: ServerID: jVQkB4KiIN4IV

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