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

How to specify --device option for Docker run command?

我正在测试新的 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 选项?

理论上,您可以指定 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"
      }
    ]
  }
}

确定容器特权完全开放硬件方面的所有内容的有效方法。为此,您只需使用 Privileged 参数。请注意,Privileged 中只有一个 d。

{
  "HostConfig": {
    "Privileged": true
  }
}