Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Azure iot edge:解决方案不在VSCode中构建和推送arm32v7平台_Docker_Iot_Azure Iot Edge_Azure Container Registry - Fatal编程技术网

Docker Azure iot edge:解决方案不在VSCode中构建和推送arm32v7平台

Docker Azure iot edge:解决方案不在VSCode中构建和推送arm32v7平台,docker,iot,azure-iot-edge,azure-container-registry,Docker,Iot,Azure Iot Edge,Azure Container Registry,我使用IoT工具在VScode中创建了一个现成的模板c#edge解决方案,但在尝试构建和推送解决方案时出现以下错误: Step 4/12 : RUN dotnet restore ---> Running in 22c6f8ceb80c A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders The command

我使用IoT工具在VScode中创建了一个现成的模板c#edge解决方案,但在尝试构建和推送解决方案时出现以下错误:

Step 4/12 : RUN dotnet restore
---> Running in 22c6f8ceb80c
A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders
The command '/bin/sh -c dotnet restore' returned a non-zero code: 131
这显然是在尝试运行Dockerfile.arm32v7中的命令时发生的,Dockerfile.arm32v7中包含以下内容:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster-arm32v7 AS build-env
WORKDIR /app

COPY *.csproj ./
RUN dotnet restore

COPY . ./
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim-arm32v7
WORKDIR /app
COPY --from=build-env /app/out ./

RUN useradd -ms /bin/bash moduleuser
USER moduleuser

ENTRYPOINT ["dotnet", "SampleModule.dll"]
这仅在为arm32v7构建时发生,但适用于amd64。我要在树莓皮上使用,所以我需要arm32

在我看来,我的环境可能有问题,但不确定该去哪里找?
我也看到了一些评论,如果你想让ARM主机工作,你需要在ARM主机上构建,但我以前在文档中没有看到过,并且从易于开发的角度来看,在使用az acr build提交构建时没有意义,您可以传入参数
--platform linux/arm/v7
,它应该为您提供一个arm构建环境


如果您喜欢在本地构建,可以尝试在Dockerfile的第一阶段使用。

当使用
az acr build
提交构建时,可以传入参数
--platform linux/arm/v7
,该参数应为您提供一个arm构建环境


如果您喜欢在本地构建,您可以尝试在Dockerfile的第一阶段使用。

我可以知道您参考了哪些文档吗?@SatishBoddu MSFT,也许需要澄清一下-我已经在microsoft文档中研究了一些细节,但没有注意到任何关于我必须使用特定机器构建arm32解决方案的说明。如果有人能指出这一点,那就太好了。请遵循这一点,如果有帮助,请尝试一次,即请尝试将mcr.microsoft.com/dotnet/core/sdk:3.1中的这一点用作第1行的构建,让我知道这是否有帮助。谢谢@SatishBoddu MSFT,更改第1行很有效,但我还必须将COPY--FROM=build env/app/out./更改为COPY--FROM=build/app。让它去finsih大楼并推动。当我部署到raspberry pi时,模块仍处于失败状态,并显示以下日志:“无法找到任何已安装的.NET Core SDK。您的意思是运行.NET Core SDK命令吗?从以下位置安装.NET Core SDK:”。是否需要在Pi上安装.net sdk?这是我尝试在边缘模拟器中运行时出现的错误:SampleModule |发生致命错误,文件夹[/usr/share/dotnet/host/fxr]不包含任何版本编号的子文件夹SampleModule退出,代码为131。我可以知道您引用了什么文档吗?@SatishBoddu MSFT,也许需要澄清一下-我已经在microsoft文档中处理了一些细节,但没有注意到有什么要说的,我必须使用特定的机器来构建arm32解决方案。如果有人能指出这一点,那就太好了。请遵循这一点,如果有帮助,请尝试一次,即请尝试将mcr.microsoft.com/dotnet/core/sdk:3.1中的这一点用作第1行的构建,让我知道这是否有帮助。谢谢@SatishBoddu MSFT,更改第1行很有效,但我还必须将COPY--FROM=build env/app/out./更改为COPY--FROM=build/app。让它去finsih大楼并推动。当我部署到raspberry pi时,模块仍处于失败状态,并显示以下日志:“无法找到任何已安装的.NET Core SDK。您的意思是运行.NET Core SDK命令吗?从以下位置安装.NET Core SDK:”。是否需要在Pi上安装.net sdk?这是我尝试在边缘模拟器中运行时出现的错误:SampleModule |发生致命错误,文件夹[/usr/share/dotnet/host/fxr]不包含任何版本编号的子文件夹SampleModule已退出,代码为1311谢谢-我想根本问题是我需要ARM环境来构建解决方案。我通过使用我的raspberry pi和以下文章来实现这一点:。因此,我假设上面的方法可行,但我无法测试自己谢谢-我想根本问题是我需要ARM环境来构建解决方案。我通过使用我的raspberry pi和以下文章来实现这一点:。所以我认为上面的方法会起作用,但我无法测试自己