我的客户端如何从另一台设备访问我的 docker nats-server?

问题描述 投票:0回答:1

我有一个在 WSL 中运行的 docker nats-server。

docker run -d -p 4222:4222 -p 6222:6222 -p 8222:8222 --name my-nats-container nats:latest

当我在主机上运行客户端时,它连接正常。

但是如果我的客户端在另一台设备上怎么办?我尝试从其他设备连接到端口 8222 上的 http 服务器,但无法连接到它。或者使用端口 4222 telnet 到。

在整个网络中广播我的 nats-server 时我缺少什么?

我的客户端应该使用什么 IP 地址来连接到我的 nats-server?应该是我的主机ip。

期望从另一台机器连接到我的dockerized nats-server。

更新:当我运行nats-server.exe(没有docker)时,我使用主机的IP地址连接良好。当我将它用作码头工人时,它无法连接。

更新#2:看来我的 WSL 有自己的 IP,而我的主机是另一个 IP。我考虑过使用 portproxy 来将任何 HostIP 连接转发到 WSL 连接。难道就没有别的办法了吗

docker ip-address wsl-2 nats.io
1个回答
0
投票

如果您的客户端与 nats docker 主机位于同一网络(wifi)中,那么您必须使用 docker 主机私有 ip 进行 nats 连接。

例如:

  • Docker 主机(nats 服务器)ip 是 192.168.0.4 [使用
    ipconfig
    从命令行检查您的私有 ip]
  • 客户端连接nats服务器ip是192.168.0.6

那么你的客户端应该能够毫无问题地连接到 docker 主机

© www.soinside.com 2019 - 2024. All rights reserved.