gpt4 book ai didi

Dockerfile if else 条件与外部参数

转载 作者:IT老高 更新时间:2023-10-28 12:33:47 38 4
gpt4 key购买 nike

我有 dockerfile

FROM centos:7
ENV foo=42

然后我建立它

docker build -t my_docker .

并运行它。

docker run -it -d  my_docker

是否可以从命令行传递参数并将其与 Dockerfile 中的 if else 一起使用?我的意思是像

FROM centos:7
if (my_arg==42)
{ENV=TRUE}
else:
{ENV=FALSE}

并使用此参数进行构建。

 docker build -t my_docker . --my_arg=42

最佳答案

它可能看起来不那么干净,但你可以让你的 Dockerfile(有条件)如下:

FROM centos:7
ARG arg
RUN if [[ -z "$arg" ]] ; 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 if else 条件与外部参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43654656/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com