未定义变量
目录
输出
Usage of undefined variable '$foo'描述
此检查可确保环境变量和构建参数正确无误 使用前声明。虽然未声明的变量可能不会导致 立即生成失败,它们可能会导致以后出现意外行为或错误 在构建过程中。
此检查不会评估RUN,CMD和ENTRYPOINT说明
这是因为当你使用 shell 表单时,变量由命令
壳。
它还可以检测常见错误,例如变量名称中的拼写错误。例如,在 以下 Dockerfile:
FROM alpine
ENV PATH=$PAHT:/app/bin检查确定$PAHT未定义,并且可能是$PATH:
Usage of undefined variable '$PAHT' (did you mean $PATH?)例子
❌ 坏:$foo是一个未定义的 build 参数。
FROM alpine AS base
COPY $foo .✅ Good: 声明foo作为 build 参数。
FROM alpine AS base
ARG foo
COPY $foo .❌ 坏:$foo未定义。
FROM alpine AS base
ARG VERSION=$foo✅ Good:基础镜像定义$PYTHON_VERSION
FROM python AS base
ARG VERSION=$PYTHON_VERSION