28·Dockerfile进阶

ARG 构建参数

ARG 构建参数

核心概念

# 定义构建参数
ARG VERSION=latest
ARG NODE_ENV=production

FROM node:${VERSION}
ARG NODE_ENV
ENV NODE_ENV=${NODE_ENV}
RUN npm install
# 传递参数
docker build --build-arg VERSION=18 --build-arg NODE_ENV=development .

ARG vs ENV

方面ARGENV
作用时机仅构建时构建时 + 运行时
可覆盖--build-arg-e
持久化不进入镜像进入镜像

安全警告

# ❌ 不要用 ARG 传递密钥(会留在镜像层中)
ARG SECRET_KEY
RUN echo $SECRET_KEY > /app/config

# ✅ 用 BuildKit secrets
# --mount=type=secret,id=key

小结

语法说明
ARG构建参数
--build-arg传递参数
ENV运行时也可见

练习编辑器

bash
Loading...