我制作了一个简单的.Net 6.0控制台应用程序,并使用带有linux-arm标志的dotnet发布命令构建了它。
-c发布-r linux-arm
上面生成linux的。
然后我使用Dockerfile为它创建了一个映像
FROM mcr.microsoft.com/dotnet/runtime:6.0
COPY bin/Release/net6.0/linux-arm /MyDockerApp
WORKDIR /MyDockerApp
ENTRYPOINT ["dotnet", "DockerTest.dll"](我不构建它,因为我的代码已经为使用dotnet发布的arm-v7构建了)
现在,我试图在我的Raspberry pi (即Arm/Linux/v7)上以容器的形式运行这个映像,并且我的错误程度低于这个值。
警告:请求的映像平台(linux/ and 64)与检测到的主机平台(linux/arm/v7)不匹配,也没有请求任何特定平台( standard_init_linux.go:228: exec用户进程引起的: exec格式错误)
我如何编译它,以便我可以运行它在我的覆盆子4(我不想构建我的代码在Raspberry pi,我只是想使用RunTime)。
发布于 2021-12-12 14:34:32
在您的.NET运行时映像中使用对应的ARM RaspberryPI作为您的RaspberryPI
例如,这个应该可以工作。
FROM mcr.microsoft.com/dotnet/runtime:6.0.0-focal-arm32v7而不是违约
FROM mcr.microsoft.com/dotnet/runtime:6.0这是普通的个人电脑。
https://stackoverflow.com/questions/70320175
复制相似问题