Dockerfile - 如何在 Dockerfile 中声明一个可以在多个 运行 指令中使用的变量?
Dockerfile - How can I declare a variable in a Dockerfile that I can use in multiple RUN instructions?
我正在写一个 Dockerfile。我想要一个可以传递给不同 PowerShell 脚本的变量。
FROM mcr.microsoft.com/windows/servercore/iis
ENV CONT_IMG_VER test
RUN echo $CONT_IMG_VER
产出
Step 4/4 : RUN echo $CONT_IMG_VER
---> Running in 70c2085d9735
$CONT_IMG_VER
而不是
Step 4/4 : RUN echo $CONT_IMG_VER
---> Running in 70c2085d9735
test
更新:根据 Dockerfile reference 看起来 运行 不支持 ENV。
如何在 Dockerfile 中声明一个可以在多个 运行 指令中使用的变量?
将 ENV 变量传递给脚本的一种方法是让 powershell 脚本引用您在 docker 容器中配置的 ENV 变量。
例如。如果您尝试注入以下 ENV 变量,请在您的 docker 文件中
ENV CONT_IMG_VER=test
让您的 powershell 脚本通过执行 get-childitem
来拉取该变量
(get-childitem ENV:CONT_IMG_VER).value
或引用 powershell env 项目。
$env:CONT_IMG_VER
我正在写一个 Dockerfile。我想要一个可以传递给不同 PowerShell 脚本的变量。
FROM mcr.microsoft.com/windows/servercore/iis
ENV CONT_IMG_VER test
RUN echo $CONT_IMG_VER
产出
Step 4/4 : RUN echo $CONT_IMG_VER
---> Running in 70c2085d9735
$CONT_IMG_VER
而不是
Step 4/4 : RUN echo $CONT_IMG_VER
---> Running in 70c2085d9735
test
更新:根据 Dockerfile reference 看起来 运行 不支持 ENV。
如何在 Dockerfile 中声明一个可以在多个 运行 指令中使用的变量?
将 ENV 变量传递给脚本的一种方法是让 powershell 脚本引用您在 docker 容器中配置的 ENV 变量。
例如。如果您尝试注入以下 ENV 变量,请在您的 docker 文件中
ENV CONT_IMG_VER=test
让您的 powershell 脚本通过执行 get-childitem
来拉取该变量(get-childitem ENV:CONT_IMG_VER).value
或引用 powershell env 项目。
$env:CONT_IMG_VER