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

Heroku自动部署Docker构建失败:Unknown flag: mount错误求助

解决Heroku部署时Dockerfile Unknown flag: mount 错误

问题原因

--mount 是Docker BuildKit提供的特性,你的Dockerfile使用了实验性语法,但Heroku默认构建环境未启用BuildKit,且不兼容该实验性语法,导致解析失败。

解决方案

方案1:使用稳定版Dockerfile语法并启用BuildKit(推荐)

既能保留缓存优化,又适配Heroku环境:

  1. 修改Dockerfile语法声明
    将Dockerfile第一行的实验性语法替换为稳定版(1.4及以上版本已支持--mount特性):
# syntax=docker/dockerfile:1.4
  1. 更新Heroku.yml启用BuildKit
    在Heroku.yml中添加配置,确保构建时使用BuildKit:
build:
  docker:
    web: packages/backend/Dockerfile
  config:
    DOCKER_BUILDKIT: "1"

方案2:移除--mount缓存(备选)

若方案1无效,可暂时移除缓存优化,改用普通RUN指令(缺点是每次构建需重新安装依赖,速度较慢):
修改Dockerfile中的RUN块为:

RUN apt-get update && \
    apt-get install -y --no-install-recommends libsqlite3-dev python3 build-essential && \
    yarn config set python /usr/bin/python3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:02:01