如何为Docker运行命令指定--device选项?

时间:2017-12-18 16:07:34

标签: docker azure-iot-hub azure-iot-edge

我正在测试新的Azure IoT Edge V2。我需要使用像这样的--device选项运行部署到边缘设备的Docker镜像(访问串口):

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

如何从Azure门户创建新部署时指定--device选项?

1 个答案:

答案 0 :(得分:4)

理论上,您可以指定docker api容器中记录的任何内容创建此处所述的选项https://docs.docker.com/engine/api/v1.30/#operation/ContainerCreate

在设备案例中你可以(我从未尝试过这种方式)在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
  }
}