此项目无法正常运行。错误信息:exec /usr/local/bin/docker-entrypoint.sh: exec format error
此项目无法正常运行。错误信息:exec /usr/local/bin/docker-entrypoint.sh: exec format error
嗨,运行 docker-entrypoint.sh 时出现 exec format error 通常意味着 Docker 镜像的 CPU 架构与运行它的服务器不匹配——例如在 linux/amd64 主机上运行 linux/arm64 镜像,反之亦然。
由于此项目是部署到您自己的专用服务器,请检查以下几点:
uname -m:x86_64 → amd64aarch64 → arm64镜像支持的架构 — 在 Docker Hub 或您的镜像仓库中,检查镜像清单是否列出了与您服务器匹配的平台。如果是预构建的镜像,它可能只发布了一种架构。
如果您是自行构建的镜像(例如在 Apple Silicon Mac 上),请使用带有 --platform 标志的 docker buildx 并推送多架构镜像:
docker buildx build --platform linux/amd64,linux/arm64 -t <your-image> --push .
您可以分享您正在部署的镜像标签(tag)吗?我们可以帮助确认它是否支持您的服务器架构。
我通过 SSH 密钥连接到我的仓库,并使用 Dockerfile 配置构建流程。我的服务器使用 ARM 架构。我应该如何在 Docker 镜像中配置构建参数,以确保它能编译出能在 ARM 架构上运行的 Docker 镜像?
如果我不想配置 Dockerfile 的内容,是否可以通过 Zeabur 的配置来指定构建的目标平台架构?
您好,
目前 Zeabur 的构建系统不支持在构建配置中指定目标平台架构。所有构建默认均为 linux/amd64。
如果您的专用服务器使用 ARM 架构,您可以通过在本地构建 ARM 镜像并以预构建镜像 (Prebuilt Image) 的方式部署来解决此问题:
docker buildx build --platform linux/arm64 -t <your-registry>/<your-image> --push .
然后在 Zeabur 上使用“Prebuilt Image”选项并填入您的镜像标签 (image tag) 进行部署。
This post has been inactive for a while. We will be closing it in 2 days if there is no new activity.
resolved 的问题已停用新回复。