【问题标题】:failed to load /usr/bin/dotnet: exec format error无法加载 /usr/bin/dotnet: exec 格式错误
【发布时间】:2022-01-13 21:34:31
【问题描述】:

我正在尝试使用 DigitalOcean 在 docker hub 上托管 C# docker container(使用 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


    【解决方案1】:

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

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

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

    【讨论】:

    • 奇怪的是 OP 可以在他们的计算机上运行那个东西。也许他们使用的是带有 M1 CPU 的苹果电脑?
    • 很多人都有 M1 Macbook,所以这并不奇怪 :)
    • 是的,我在 m1 上,非常感谢!
    • @Alyx 也考虑在云上使用 ARM64 CPU。我曾经用 .NET Core 制作了一个在公共云上运行的云应用程序,在我的案例中,我最终使用的 ARM VM 比传统的 AMD64 VM 便宜 2.5 倍。另一个很好的副作用,你不需要这些 docker 镜像的另一个版本。但是,单线程性能在传统 Xeon 和 Epic 上更好,因此需要权衡。
    • @Sonts 你知道 DigitalOcean 是否支持 ARM64 吗?我对他们有很多功劳,所以我决心把它做好
    猜你喜欢
    • 2022-11-03
    • 2022-07-09
    • 1970-01-01
    • 2022-12-30
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多