Azure IoT Edge 模块:VS Code 部署模板中的 Docker 容器运行时选项

问题描述

需要使用 docker 运行时选项(例如 --gpus=all 和 -e DATABASE=NO)部署 docker 容器“sample/api:v1”作为 Azure IoT 边缘模块。如何在 VS Code 中指定这些 docker 运行时选项-deployment.template.json

docker run -dt --gpus=all -e DATABASE=NO -p 5656:5656 sample/api:v1

解决方法

这可能就是您要查找的内容,您需要将其指定为部署 JSON 中模块的 createOptions:

{
   "ENV":[
      "DATABASE=NO"
   ],"HostConfig":{
      "DeviceRequests":[
         {
            "Driver":"","Count":-1,"DeviceIDs":null,"Capabilities":[
               [
                  "gpu"
               ]
            ],"Options":{
               
            }
         }
      ],"PortBindings":{
         "5656/tcp":[
            {
               "HostPort":"5656"
            }
         ]
      }
   }
}

ENV 中,您将找到您的环境变量。在 PortBindings 下,您可以指定需要打开哪些端口。

DeviceRequests 下,您将找到等效于 --gpus=all 的创建选项。 Azure IoT Edge 对此的支持从 1.0.10 开始,因此请确保更新您的 Edge 运行时。检查 herehere 是否存在其他人已经做过的 GitHub 问题。