Невозможно запустить модуль Azure IoT Edge в указанной сети докеров с помощью NetworkId

Я пытаюсь запустить модули на своем граничном устройстве IoT в определенных сетях докеров, которые я уже настроил.

Посмотрев здесь README (github iotedge / edge-agent), похоже, это указывает на то, что я могу установить переменную среды NetworkId в модуле edgeAgent, и это заставит его запускать новые модули в этой сети докеров.

На моем пограничном хосте у меня есть следующие сети:

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

Я устанавливаю переменную среды NetworkId для edgeAgent на моем портале Azure. Независимо от того, установлен ли я на my-network или 585545f54602, новые модули всегда запускаются в azure-iot-edge сеть.

Мне что-то не хватает в том, как это должно работать, или есть лучший способ добиться желаемых результатов?


person Reid Stidolph    schedule 12.10.2018    source источник


Ответы (1)


У вас должна быть возможность указать сеть в файле конфигурации для демона IoT Edge. Этот файл обычно находится по адресу /etc/iotedge/config.yaml.

Параметр network в разделе moby_runtime должен достичь желаемого:

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

Это позволит правильно установить переменную env в пограничном агенте и каскадировать эту сетевую конфигурацию на все другие контейнеры.

person Mike Yagley    schedule 12.10.2018
comment
Спасибо, Майк, у меня это сработало, когда my-network еще не существовало ... и в этом случае он его создал. Однако я пытаюсь настроить контейнерную сеть отдельно и просто добавить в нее модули. Если я создаю сеть, iotedge выдает ошибку выполнения контейнера, вызванную: ошибкой Serde, и не запускается. - person Reid Stidolph; 12.10.2018