You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple M1 ARM64下构建.NET Core 2.2 Docker镜像报/proc/self/exe错误求助

问题根因

报错的核心原因是.NET Core 2.2官方仅提供x86架构的镜像,无原生ARM64版本支持。你指定linux/arm64/v8平台拉取的alpine3.8变体镜像实际仍为x86架构二进制,在ARM容器环境中无法正常执行,因此触发Failed to resolve full path of the current executable [/proc/self/exe]错误。


可行解决方案

方案1:临时兼容方案(无需修改代码/SDK版本,适合本地开发调试)

直接强制Docker使用x86_64架构模拟构建,M1芯片的Docker Desktop默认支持Rosetta 2转译运行x86容器,仅需修改构建命令即可:

docker buildx build --platform linux/amd64 -t MyContainer.azurecr.io/admin-api-web:development ./backend -f ./backend/Admin.Api.Web.Dockerfile

构建出的镜像是x86架构,可在M1设备本地正常运行,也可直接部署到常规x86架构的服务器使用。

方案2:长期原生兼容方案(原生支持ARM64架构)

将项目的.NET Core 2.2升级到官方支持ARM64架构的版本,最低可选择.NET 3.1,推荐升级到.NET 6或更高的LTS版本,修改Dockerfile中的基础镜像对应版本即可原生支持ARM64构建与运行,无转译性能损耗。

方案3:多架构构建方案(需升级.NET版本)

如果需要同时输出x86和ARM64架构的镜像,升级.NET到支持ARM64的版本后,使用buildx的多架构构建参数即可:

docker buildx build --platform linux/amd64,linux/arm64/v8 -t MyContainer.azurecr.io/admin-api-web:development ./backend -f ./backend/Admin.Api.Web.Dockerfile --push

内容的提问来源于stack exchange,提问作者Thamy Bessa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:36:03