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

向Heroku镜像仓库推送大体积Docker镜像时遇重启问题

解决Docker镜像推送到Heroku时中途重启的问题
  • 先解决镜像体积过大的核心问题
    Heroku容器镜像没有明确公开的体积上限,但9.31GB的镜像已经远超出合理范围,大概率触发了隐性限制或推送时的资源瓶颈:

    • 改用多阶段构建:用带完整编译环境的Python镜像完成依赖安装、模型打包,再把仅需的运行文件(比如Flask代码、模型文件、依赖包)复制到轻量的slim或alpine基础镜像中,丢弃构建阶段的缓存、编译产物等冗余内容
    • 清理镜像冗余:Dockerfile里执行pip安装时加--no-cache-dir避免缓存;如果用Debian/Ubuntu基础镜像,添加RUN apt-get clean && rm -rf /var/lib/apt/lists/*清理系统包缓存
    • 优化模型体积:对预训练大模型做量化处理(比如FP16、INT8)缩小体积;或者把模型放到外部存储服务,启动应用时再下载,不要打包进镜像
  • 排查网络与推送方式

    • 检查本地网络稳定性,大镜像推送对网络要求高,波动容易导致连接重置,尝试切换到更稳定的网络环境
    • 升级本地Docker和Heroku CLI到最新版本,旧版本可能存在兼容性问题
    • 尝试间接推送:先把镜像推到Docker Hub,再用heroku container:push web --from-registry=<username>/<repository>:<tag>命令从Docker Hub拉取到Heroku,减少直接推送的压力
  • 查看详细日志定位问题
    执行推送时添加verbose参数获取详细日志:

    heroku container:push web -v
    

    从日志里看重启时的具体错误信息,是网络中断、Heroku端资源限制还是镜像分层传输的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:20:05