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

执行heroku container:login报错docker login退出码125的问题排查求助

搞定 heroku container:login 报错 docker login exited with 125

嘿,我之前帮朋友排查过一模一样的问题,这个错误码125本质是Docker命令执行失败的返回码,问题既可能出在Docker本身,也可能是Heroku CLI和Docker的交互环节。下面给你一步步拆解排查:

先确认Docker是否在正常运行

这是最容易忽略的点:

  • Windows/macOS用户:看看Docker Desktop的托盘图标是不是亮着的,如果是灰色或者提示未启动,先把Docker启动起来
  • Linux用户:执行 systemctl status docker 查看服务状态,未启动的话用 systemctl start docker 启动

Docker没跑起来的话,任何Docker相关命令都会直接报错,包括Heroku CLI调用它的时候。

手动执行底层Docker登录命令排查

Heroku的container:login其实是封装了Docker的登录命令,咱们直接跑原生命令验证:

docker login --username=_ --password=$(heroku auth:token) registry.heroku.com
  • 如果这个命令能成功登录,说明你的Docker和Heroku认证都是正常的,问题出在Heroku CLI的容器插件上,直接更新插件或CLI即可
  • 如果这个命令也报错,那就是Docker本身的问题,比如网络连不上Heroku仓库,或者认证token失效

更新工具版本解决兼容性问题

旧版本的Heroku CLI或者Docker可能存在兼容性bug:

  • 更新Heroku CLI:终端里执行 heroku update
  • 更新Docker:Docker Desktop用户直接在设置里检查更新,Linux用户用对应的包管理器(比如apt、yum)升级Docker

重置Heroku认证信息

有时候本地的Heroku认证token过期或者出问题,也会导致登录失败:

heroku auth:logout
heroku login

重新登录后再试heroku container:login,大概率能解决认证类的问题。

检查代理或网络环境

如果你在公司或者有代理的网络下,Docker可能没配置正确的代理,导致连不上Heroku的镜像仓库:

  • Docker Desktop用户:去Settings -> Resources -> Proxies里检查代理配置是否正确
  • 同时确保Heroku CLI能正常访问外网,执行 heroku status 看看能不能获取到Heroku的服务状态

总结下错误来源:这个报错是Heroku CLI调用Docker的login命令时,Docker返回了125错误码,所以根源可能是Docker的执行环境(比如未启动、网络问题),也可能是Heroku CLI传递参数的问题,按上面的步骤逐一排查就能找到问题所在。

内容的提问来源于stack exchange,提问作者Yago Azedias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:17:07