Как указать параметр --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
}
}