将Azure功能部署为IoT Edge模块

时间:2018-07-11 09:21:52

标签: azure azure-iot-hub

我一直在尝试使用以下链接将IoT Edge模块部署到IoT Edge设备:

https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-deploy-function

一切似乎都正常,但是,当我右键单击deployment.template.json文件并选择“构建IoT Edge解决方案”时,我得到以下输出:

PS C:\ Users \ Carlton \ Documents \ OnAzureFunction \ EdgeSolutionAF> docker build --rm -f“ c:\ Users \ Carlton \ Documents \ OnAzureFunction \ EdgeSolutionAF \ modules \ edgeonAzureF \ Dockerfile.amd64” -t carlscontainer。 azurecr.io/edgeonazuref:0.0.1-amd64“ c:\ Users \ Carlton \ Documents \ OnAzureFunction \ EdgeSolutionAF \ modules \ edgeonAzureF”;如果($?){docker push carlscontainer.azurecr.io/edgeonazuref:0.0.1-amd64} 将构建上下文发送到Docker守护程序12.29kB 步骤1/3:从mcr.microsoft.com/azureiotedge-functions-binding:1.0.0-linux-amd641.0.0-linux-amd64:无法使用从azureiotedge-functions-bindingimage操作系统中提取图像在此平台上PS C:\ Users \ Carlton \ Documents \ OnAzureFunction \ EdgeSolutionAF>

您可以看到步骤1/3似乎失败。

error

应该发生的情况是visual Studio Code首先在部署模板中获取信息,并在新的config文件夹中生成一个deployment.json文件。然后,它在集成终端中运行两个命令:docker build和docker push。这两个命令可构建代码,对函数进行容器化,并将其推送到初始化解决方案时指定的容器注册表。但是,您可以将docker push不会将其发送到容器注册表。

1 个答案:

答案 0 :(得分:1)

哪个容器在docker主机,Linux容器或Windows容器上运行? 您应该将容器切换到Linux容器(右键单击任务栏中的docker图标->切换到Linux容器)。

enter image description here