0

我正在尝试将我的 IoT 边缘设备上的模块启动到我已经设置的一些指定的 docker 网络中。

查看此处的自述文件(github iotedge/edge-agent),似乎表明我可以NetworkId在模块上设置一个环境变量edgeAgent,这将导致它在该 docker 网络中启动新模块。

在我的边缘主机上,我有以下网络:

user@iot-edge:~$ sudo docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
79a913b7939e        azure-iot-edge      bridge              local
8ec9339ee789        bridge              bridge              local
4c4dc85139ab        host                host                local
ca2bdc648e9f        none                null                local
585545f54602        my-network          bridge              local

我在我的 Azure 门户中设置NetworkId环境变量。edgeAgent无论我是否将其设置为my-network585545f54602,新模块总是会启动到azure-iot-edge网络中。

我是否遗漏了一些关于它应该工作的方式,还是有更好的方法来实现我所追求的结果?

4

1 回答 1

0

您应该能够在 IoT Edge 守护程序的配置文件中指定网络。该文件通常位于/etc/iotedge/config.yaml.

该部分network中的设置moby_runtime应该达到你想要的:

moby_runtime:
  uri: "unix:///var/run/docker.sock"
  network: "my-network"

这将正确设置 Edge Agent 中的 env 变量,并将此网络配置级联到所有其他容器。

于 2018-10-12T15:29:24.587 回答