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

标签 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

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

最佳答案

理论上,您可以指定此处所述的 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
  }
}

关于docker - 如何为 Docker 运行命令指定 --device 选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47872218/

相关文章:

docker - 如何消除docker中的错误?

azure - 如何调用 ACR 中托管的图像检查属性

c# - 在同一进程中处理消息并将其发送到云端而不丢失数据的良好设计是什么?

azure - 从 IoT Hub(microsoft azure) 获取数据有哪些不同方法?

azure - Azure IoT 中心设备孪生的报告属性中的 8 字节数字自动转换为 float

node.js - 如何使用 github actions 中的 token 从私有(private) git 存储库安装 npm 包

mysql - 在 m1 处理器中运行的 Docker 镜像

azure - Azure IoT 上的软件更新

azure - 自定义 C# 模块与 Edge 上的 Azure Functions

azure - 如何允许访问我的 config.yaml 文件? (Raspbian、Azure 物联网边缘)