网络 - 如何将数据从容器发送到同一网络中的 mosquitto 容器
Networking-How to send data from a container to mosquitto container in the same network
我有一个 raspberry pi,它是 运行 一个蚊子 docker 容器。此容器包含文件和将数据发送到 IOT 集线器所需的所有配置。我还有另一个容器 data-container
,它执行一些步骤,然后它需要使用 mosquitto docker 容器将数据发送到该物联网集线器。 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
我也开始使用 --net=mynetwork
data-container
。所以两个容器都在同一个网络中。现在在 data-container
中,它收集了一些信息并使用以下命令发布:
publish.single("/machine/machine1/, "<data to send>", hostname=<hostname>)
我对 publish.single 中的 hostname
使用什么感到困惑。我应该在主机名中提及 mosquitto 容器的 IP 地址吗?
谢谢
当它们部署在同一个网络中时,容器名称就可以了。为确保您可以尝试 exec
在您的容器内并尝试 ping
使用容器名称的其他容器。当它们在同一个 docker 网络中时,这应该有效。
我有一个 raspberry pi,它是 运行 一个蚊子 docker 容器。此容器包含文件和将数据发送到 IOT 集线器所需的所有配置。我还有另一个容器 data-container
,它执行一些步骤,然后它需要使用 mosquitto docker 容器将数据发送到该物联网集线器。 data-container
有一个 python 代码,它使用 paho-mqtt 库来发布和订阅消息。
我使用以下命令在 docker mynetwork
中创建了自己的网络:
sudo docker network create mynetwork
这创建了网络 mynetwork
。然后我通过指定 mynetwork:
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
我也开始使用 --net=mynetwork
data-container
。所以两个容器都在同一个网络中。现在在 data-container
中,它收集了一些信息并使用以下命令发布:
publish.single("/machine/machine1/, "<data to send>", hostname=<hostname>)
我对 publish.single 中的 hostname
使用什么感到困惑。我应该在主机名中提及 mosquitto 容器的 IP 地址吗?
谢谢
当它们部署在同一个网络中时,容器名称就可以了。为确保您可以尝试 exec
在您的容器内并尝试 ping
使用容器名称的其他容器。当它们在同一个 docker 网络中时,这应该有效。