Dockerfile(如果带有外部参数的其他条件) [英] Dockerfile if else condition with external arguments
本文介绍了Dockerfile(如果带有外部参数的其他条件)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有dockerfile
I have dockerfile
FROM centos:7
ENV foo=42
然后我构建它
docker build -t my_docker .
并运行它。
docker run -it -d my_docker
是否可以从命令行并将其与Dockerfile中的if一起使用?我的意思是
Is it possible to pass arguments from command line and use it with if else in Dockerfile? I mean something like
FROM centos:7
if (my_arg==42)
{ENV=TRUE}
else:
{ENV=FALSE}
并以此构建
docker build -t my_docker . --my_arg=42
推荐答案
看起来可能不太干净但是您可以按如下方式使用Dockerfile:
It might not look that clean but you can have your Dockerfile (conditional) as follow:
FROM centos:7
ARG arg
RUN if [ "x$arg" = "x" ] ; then echo Argument not provided ; else echo Argument is $arg ; fi
然后将图像构建为:
docker build -t my_docker。 --build-arg arg = 45
或
docker build -t my_docker。
这篇关于Dockerfile(如果带有外部参数的其他条件)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文