无法将 Azure IoT Edge 模块启动到具有 NetworkId 的指定 docker 网络中
Unable to launch Azure IoT Edge module into specified docker network with NetworkId
我正在尝试在我的 IoT 边缘设备上启动模块,并将其放入我已经设置的某些指定 docker 网络中。
看这里的 README (github iotedge/edge-agent),似乎表明我可以在 edgeAgent
模块上设置一个 NetworkId
环境变量,这将导致它启动新的模块进入 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 门户中为 edgeAgent
设置 NetworkId
环境变量。无论我将其设置为 my-network
还是 585545f54602
,新模块总是会启动到 azure-iot-edge
网络中。
我是否遗漏了一些关于它应该工作的方式,或者是否有更好的方法来实现我想要的结果?
您应该能够在 IoT Edge 守护程序的配置文件中指定网络。此文件通常位于 /etc/iotedge/config.yaml
.
moby_runtime
部分中的 network
设置应该可以实现您想要的:
moby_runtime:
uri: "unix:///var/run/docker.sock"
network: "my-network"
这将正确设置 Edge Agent 中的 env 变量并将此网络配置级联到所有其他容器。
我正在尝试在我的 IoT 边缘设备上启动模块,并将其放入我已经设置的某些指定 docker 网络中。
看这里的 README (github iotedge/edge-agent),似乎表明我可以在 edgeAgent
模块上设置一个 NetworkId
环境变量,这将导致它启动新的模块进入 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 门户中为 edgeAgent
设置 NetworkId
环境变量。无论我将其设置为 my-network
还是 585545f54602
,新模块总是会启动到 azure-iot-edge
网络中。
我是否遗漏了一些关于它应该工作的方式,或者是否有更好的方法来实现我想要的结果?
您应该能够在 IoT Edge 守护程序的配置文件中指定网络。此文件通常位于 /etc/iotedge/config.yaml
.
moby_runtime
部分中的 network
设置应该可以实现您想要的:
moby_runtime:
uri: "unix:///var/run/docker.sock"
network: "my-network"
这将正确设置 Edge Agent 中的 env 变量并将此网络配置级联到所有其他容器。