Как указать параметр --device для команды запуска Docker?

Я тестирую новый Azure IoT Edge V2. Мне нужно запустить образ Docker, развернутый на пограничном устройстве, с опцией --device, подобной этой (для доступа к последовательному порту):

$ docker run --device=/dev/serial/by-id/usb-ELT_SENSOR_EK100_V1.0_SN000001-if00-port0 olavt.azurecr.io/testco2sensor-arm32

Как мне указать --device вариант при создании нового развертывания на портале Azure?

1 ответ

Решение

Теоретически вы можете указать все, что задокументировано в параметрах создания контейнера docker api, указанных здесь https://docs.docker.com/engine/api/v1.30/

В случае устройства вы могли (я никогда не пробовал таким образом) указать в createOptions:

{
  "HostConfig": {
    "Devices": [
      {
        "PathOnHost": "/dev/serial/by-id/usb-ELT_SENSOR_EK100_V1.0_SN000001-if00-port0",
        "PathInContainer": "/dev/serial/by-id/usb-ELT_SENSOR_EK100_V1.0_SN000001-if00-port0",
        "CgroupPermissions": "rwm"
      }
    ]
  }
}

Что работает наверняка, так это привилегировать контейнер, полностью открывая все на стороне оборудования. Для этого вы просто используете Priviledged параметр

{
  "HostConfig": {
    "Priviledged": true
  }
}
Другие вопросы по тегам