首页/云/Docker 容器速查/ONBUILD 延迟触发指令
本包目录(366 条)
基础命令50 条
镜像与构建107 条
网络与存储52 条Compose 编排55 条资源与安全50 条容器排障52 条

ONBUILD 延迟触发指令

把指令登记为触发器,在下游镜像 FROM 本镜像时自动执行;做基础镜像时能统一注入构建步骤,但行为对下游是隐式的。

Docker 容器速查云更新于 2026-10-12
用途基础镜像预置下游构建步骤
语法ONBUILD 指令(如 ONBUILD COPY . /app)
查看docker inspect -f '{{.Config.OnBuild}}' 镜像

示例

示例
FROM alpine:3.20
ONBUILD COPY app/ /app/
ONBUILD RUN npm ci --prefix /app
CMD ["node", "/app/index.js"]
触发器在下游构建时执行;错误现场出现在下游项目里,追查时先 inspect 基础镜像确认。

易错点

  • 下游构建失败信息指向自己的目录,但根因在基础镜像的触发器里,排查先看 OnBuild 列表
  • ONBUILD 不能触发另一个 ONBUILD,嵌套链路不会传递

数据来源与参考

  • Docker 官方文档:Dockerfile ONBUILD(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌