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_VAR
在RUN
命令中被扩展为值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%
考虑以下 Dockerfile
。
FROM alpine:latest
ARG MY_VAR="my value"
RUN echo $MY_VAR
构建容器时,部分输出为[2/2] RUN echo my value
,因此变量$MY_VAR
在RUN
命令中被扩展为值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%