Dockerfile-使用子bash脚本中的变量

时间:2018-10-31 15:19:54

标签: bash dockerfile

在Dockerfile中,我试图按照if逻辑设置ARG变量RUNTIME_ENVIRONMENT,并将其放入子脚本runtime.sh(与Dockerfile位于同一文件夹中)。 / p>

我的脚本runtime.sh

#!/bin/bash
aspenv="Development"
if [ "$BUILD_SOURCEBRANCHNAME" = "SP-1043" ]
then
    aspenv="Test"
fi
if [ "$BUILD_SOURCEBRANCHNAME" = "Test" ]
then
    aspenv="Test"
fi

然后我尝试在Dockerfile中使用source命令,如下所示:Using the RUN instruction in a Dockerfile with 'source' does not work

RUN /bin/bash -c "source runtime.sh"

从Dockerfile访问变量aspenv之前,

ARG RUNTIME_ENVIRONMENT=$aspenv
ENV ASPNETCORE_ENVIRONMENT=$RUNTIME_ENVIRONMENT

最后,它不起作用。我没有任何构建错误,但是当我检查图像时,环境变量ASPNETCORE_ENVIRONMENT不存在:

"Env": [

     "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
     "ASPNETCORE_URLS=http://+:80",
     "DOTNET_RUNNING_IN_CONTAINER=true",
     "ASPNETCORE_VERSION=2.1.5"
 ]

(当我在Dockerfile中直接设置ASPNETCORE_ENVIRONMENT变量时,没有任何if逻辑)

我不知道问题出在采购上,还是尝试访问aspenv变量的方式,或者其他问题。

0 个答案:

没有答案