无法加载/usr/bin/dotnet: exec格式错误

问题描述 投票:0回答:2

我正在尝试使用 DigitalOcean 在 docker hub 上托管一个 C# docker 容器(使用 Apps 平台)

[2021-12-08 23:24:04] starting container: starting non-root container [dotnet Alace.cs.dll]: creating process: failed to load /usr/bin/dotnet: exec format error

容器在我的计算机上运行得非常好。

c# .net docker digital-ocean-apps
2个回答
18
投票

您的映像是为 Arm 处理器构建的,而 DigitalOcean 机器可能是 amd64 机器。

您可以尝试使用 buildx 命令构建 amd64。类似的东西

docker buildx build --platform linux/amd64 -t alyxw/alace-cs:amd64 .

0
投票

如果您使用 dotnet 8,则只能将基本映像更改为

mcr.microsoft.com/dotnet/aspnet:8.0-bookworm-slim-amd64

你可以进行正常的 docker 构建。

并且在构建 docker 镜像时无需使用“--platform linux/amd64”参数

© www.soinside.com 2019 - 2024. All rights reserved.