【发布时间】:2019-05-24 15:09:50
【问题描述】:
我已经启动并运行了eclipse-mosquitto image,它也是另一个容器中的发布者,可以成功连接和发布。我可以进入代理容器并使用 mosquitto_sub 来保留消息,但是当我尝试从本地计算机订阅时,连接被拒绝。
这是我用来启动容器的命令:
docker run --name mqtt --restart=always --net=host -tid eclipse-mosquitto
使用了--net=host 标志,所以我可以在任何地方使用localhost。
这就是我尝试订阅的方式,它在容器内起作用:
mosquitto_sub -h localhost -t TOPIC
是否有我错过的 Docker 标志或其他选项阻止我从本地计算机订阅?或者 Docker 容器中的订阅者可以工作吗?
【问题讨论】:
-
我只是在我的本地环境中运行与您相同的命令,它按预期工作。也许您的机器中有一些额外的配置。你能用 netstat 在你的本地机器上检查你的端口 1883 是
LISTENING吗? -
@SergioGuillenMantilla 可以确认命令在装有 Ubuntu 的机器上按预期工作。在 Windows 上,除非启动本地 mosquitto 代理,否则 netstat 不会列出端口。我已经尝试将端口添加到防火墙,但之后没有列出,和之前一样。