如何使用Dockerfile动态设置ENV变量

时间:2019-05-15 04:49:11

标签: variables set dockerfile environment

我有一个Dockerfile,该文件可以访问一个变量,该变量指示该目标环境。我们的CICD管道使该环境变量可用于Dockerfile,我可以使用“如果$ Environment =“,则运行。

当我检测到“测试”环境时,需要即时创建另一个环境变量。但是,这样的代码似乎不起作用:

如果$ Environment =“ test”则运行;然后 ; /  ENV NewEnvironmentVariable =“测试”; / fi

运行时找不到“ ENV”。所以很明显,您不能在RUN .. if。

中以这种方式使用ENV。

但是我可以使用bash命令导出变量,但是它可能是在不同的上下文中创建此导出的,因此Dockerfile无法访问它。我本以为导出该文件将使新的环境变量成为Docker文件(当它从“ if”块返回时)。

简而言之,我只需要评估和现有的环境变量,如果它包含我要查找的值,它将创建一个新的ENV变量,就像我已经完成“ ENV MyNewVar = 1”一样。

这可能吗?

谢谢

0 个答案:

没有答案