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

启动docker-compose遇OSError错误:Exec format error路径/usr/local/bin/docker-credential-ecr-login

解决Docker Compose拉取镜像时的Credentials Store Exec格式错误

看起来你碰到的问题核心是/usr/local/bin/docker-credential-ecr-login这个凭证存储工具出了执行格式不兼容的问题——要么是工具本身损坏,要么是安装的版本和你的Mac架构不匹配(比如Intel Mac装了arm64版本,或者反过来)。其他项目能正常拉取镜像,说明Docker的基础功能没问题,只是这个特定的凭证插件掉链子了。

下面是一步步的修复方案:

步骤1:检查工具的架构和状态

先打开终端,运行这两个命令确认问题:

# 查看文件权限和位置
ls -l /usr/local/bin/docker-credential-ecr-login
# 检查文件的架构类型
file /usr/local/bin/docker-credential-ecr-login

如果输出显示的架构和你的Mac不匹配(比如M系列Mac显示x86_64,或者Intel Mac显示arm64),那就是架构不兼容的问题;如果提示文件损坏,那就是工具本身出问题了。

步骤2:移除有问题的工具

直接删除这个出问题的文件:

rm /usr/local/bin/docker-credential-ecr-login

步骤3:重新安装适配的版本

根据你的Mac架构选择对应的安装方式:

  • Intel(x86_64)Mac:直接用Homebrew安装:
    brew install docker-credential-ecr-login
    
  • M系列(arm64)Mac:确保你用的是arm版Homebrew(路径在/opt/homebrew),然后同样运行上面的命令。如果之前用的是Intel版Homebrew,建议切换到arm版后再安装。

步骤4:验证修复并重新运行

先测试工具是否正常工作:

docker-credential-ecr-login version

如果能正常输出版本信息,再回到你的项目目录重新运行:

docker-compose up

临时备选方案(不想重装工具时用)

如果你只是想临时绕开这个问题,可以修改Docker的配置文件,暂时禁用这个凭证存储:

  1. 打开~/.docker/config.json文件(用文本编辑器或者终端命令open ~/.docker/config.json)
  2. 找到"credsStore": "ecr-login"这一行,把它注释掉或者直接删除
  3. 保存文件后,再尝试运行docker-compose up

这个临时方案只是应急用的,长期来看还是修复凭证工具更稳妥。

内容的提问来源于stack exchange,提问作者Adrian Gö risch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 07:43:16