Windows 个容器中的变量扩展

Variable expansion in Windows containers

考虑以下 Dockerfile

FROM alpine:latest
ARG MY_VAR="my value"
RUN echo $MY_VAR

构建容器时,部分输出为[2/2] RUN echo my value,因此变量$MY_VARRUN命令中被扩展为值my value

现在,我切换到一个 Windows 容器,和一个类似的 Dockerfile:

FROM mcr.microsoft.com/windows/servercore:ltsc2022
ARG MY_VAR="my value"
RUN echo $MY_VAR

构建Windows容器时,部分输出为Step 3/3 : RUN echo $MY_VAR,所以变量没有展开!

如何在 Windows 个容器中启用变量扩展?

在对环境变量使用 batch-style 表示法时有效!

FROM mcr.microsoft.com/windows/servercore:ltsc2022
ARG MY_VAR="my value"
RUN echo %MY_VAR%