我一直在关注这里发布的教程:
https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-deploy-function
我尝试了构建IoT Edge解决方案步骤的步骤6中列出的构建并推送IoT Edge解决方案,并收到以下错误消息:
步骤1/3:来自mcr.microsoft.com/azureiotedge-functions-binding:1.0.0-linux-amd64 1.0.0-linux-amd64:从azureiotedge-functions-binding中拉出 图片操作系统“ linux”不能在该平台上使用
因此,我在CSharpFunction模块文件夹中注意到了几个Dockerfile对象。 1是Windows,其他3是linix,包括引起错误的一个。由于所有docker文件以及用于执行构建和推送的命令都是由应用程序生成的,因此有哪些设置或其他选项可用于强制其使用正确的Docker容器进行构建和/或部署? TIA
答案 0 :(得分:1)
结果是我正在寻找的设置位于Deployment.template.json文件本身中。 VS Code在项目文件夹中创建了四个docker文件:
Dockerfile.amd64
Dockerfile.amd64.debug
Dockerfile.arm32v7
Dockerfile.windows-amd64
在CSharpFunction词典中,有一个图像键必须参考容器。默认设置为:
"${MODULES.CSharpFunction.amd64}"
更改为:
"${MODULES.CSharpFunction.windows-amd64}"
解决问题。