网络 - 如何将数据从容器发送到同一网络中的mosquitto容器

时间:2018-01-18 07:43:35

标签: docker networking mosquitto

我有一个覆盆子pi正在运行一个mosquitto docker容器。此容器包含将数据发送到IOT集线器所需的文件和所有配置。我还有另一个容器data-container,它执行一些步骤然后需要使用mosquitto docker容器将数据发送到该IOT中心。 data-container有一个python代码,它使用paho-mqtt库来发布和订阅消息。

我已使用以下命令在docker mynetwork中创建了自己的网络:

sudo docker network create mynetwork

这创建了网络mynetwork。然后我通过指定mynetwork启动了mosquitto容器:

sudo docker run -ti --net=mynetwork --restart=always -v /mosquitto/mqtt/config:/mqtt/config:ro -v /mosquitto/mqtt/log:/mqtt/log -v /mosquitto/mqtt/data/:/mqtt/data/ --name mqtt pascaldevink/rpi-mosquitto

我还使用data-container启动了--net=mynetwork。所以容器都在同一个网络中。现在在data-container内,它收集了一些信息并使用以下命令发布它:

publish.single("/machine/machine1/, "<data to send>", hostname=<hostname>)

我对在publish.single中hostname中使用的内容感到困惑。我应该在主机名中提到mosquitto容器的IP地址吗?

由于

1 个答案:

答案 0 :(得分:0)

当容器名称部署在同一网络中时,它们很好。确保您可以尝试在容器内exec并尝试使用容器名称ping另一个容器。这应该在它们位于同一个docker网络中时起作用。