首页/云/Docker 容器速查/FROM 结合 ARG 参数化基础镜像
镜像与构建107 条

FROM 结合 ARG 参数化基础镜像

在 FROM 之前声明 ARG 并把基础镜像写成 ${变量},构建时用 --build-arg 切换镜像或版本,便于多环境复用同一份 Dockerfile。

Docker 容器速查云更新于 2026-10-12
用途让基础镜像可配置
语法ARG BASE=node:20-alpine 后接 FROM ${BASE}
传参docker build --build-arg BASE=node:22-alpine .

示例

示例
ARG BASE=node:20-alpine
FROM ${BASE}
WORKDIR /app

构建命令

构建命令
docker build --build-arg BASE=node:22-alpine -t app/web:dev .
FROM 前声明的 ARG 只用于 FROM 行;阶段内部要再次使用该变量,需要在 FROM 后重新写一条同名 ARG。

易错点

  • ARG 默认值会固化在 Dockerfile 里,不要用它携带密钥
  • 阶段内未重新声明同名 ARG 时变量为空,${BASE} 会解析成空串导致 FROM 报错

数据来源与参考

  • Docker 官方文档:Understand how ARG and FROM interact(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌