在AWS App Runner运行getmeili/meilisearch镜像遇exec格式错误求助
解决AWS App Runner部署meilisearch镜像时的
exec /sbin/tini: exec format error问题 可能原因
- App Runner计算平台与镜像架构不匹配:即便你确认镜像为amd64,若部署时选择了ARM64计算平台,就会出现架构不兼容的执行错误——ECS使用amd64实例自然无此问题。
- 多架构镜像拉取错误:
getmeili/meilisearch:latest是多架构镜像,若未明确指定架构,App Runner可能拉取到与自身平台不兼容的版本。
解决方案
指定App Runner计算平台为amd64
创建App Runner服务时,进入「配置构建和启动」步骤,找到「计算平台」选项,明确选择x86_64(amd64),而非默认的「自动」模式。重新推送明确架构的镜像到ECR
拉取镜像时指定amd64架构,再推送到ECR:docker pull getmeili/meilisearch:latest --platform linux/amd64 docker tag getmeili/meilisearch:latest <你的ECR仓库URI>:latest-amd64 docker push <你的ECR仓库URI>:latest-amd64之后在App Runner中选择这个带
-amd64标签的镜像部署。验证镜像架构
检查本地及ECR中镜像的架构是否正确:docker inspect getmeili/meilisearch:latest | grep -i architecture正常输出应为
"Architecture": "amd64"。跳过tini直接启动服务
若tini是架构不兼容的核心问题,可在App Runner的「启动命令」中填写:/bin/sh -c "./meilisearch"
内容的提问来源于stack exchange,提问作者Taylorsuk
相关产品推荐
相关产品推荐

