推送Docker镜像至Heroku时遇registry报错unsupported的解决问询
Docker镜像推送Heroku报错问题排查与解决
问题描述

尝试将Docker镜像推送到Heroku时出现上图所示报错,已尝试指定平台为linux/amd64,但问题仍未解决。
可能原因
- Heroku容器注册表认证信息过期或未完成登录
- 镜像标签不符合Heroku要求的格式规范
- 目标Heroku应用名称不存在,或当前账号无操作权限
- 镜像构建时虽指定平台,但仍存在架构相关隐性问题(如部分依赖非amd64架构)
解决步骤
重新认证Heroku容器注册表
执行以下命令完成登录,确保认证有效:heroku container:login修正镜像标签格式
Heroku要求镜像标签必须为registry.heroku.com/<应用名称>/<进程类型>(进程类型通常为web),先给本地镜像打正确标签:docker tag 本地镜像名 registry.heroku.com/你的应用名称/web再执行推送:
docker push registry.heroku.com/你的应用名称/web验证应用与权限
执行heroku apps查看当前账号下的应用列表,确认目标应用存在,且当前账号拥有该应用的管理权限。重新构建镜像
使用完整的平台指定命令重新构建,确保全程基于amd64架构:docker build --platform linux/amd64 -t 本地镜像名 .查看详细日志定位问题
推送失败后,通过Heroku日志获取更具体的错误信息:heroku logs --app 你的应用名称
内容的提问来源于stack exchange,提问作者PA1N
相关产品推荐
相关产品推荐

