【发布时间】:2018-08-16 13:06:33
【问题描述】:
我是docker 的新手,我正在寻找一种在 docker 容器中执行命令的方法,具体取决于环境。
在 Dockerfile 中,我有 2 个命令,command_a 和 command_b。如果env = 'prod' 运行command_a,否则运行command_b。我怎样才能做到这一点?
我尝试如下:
RUN if [ $env = "prod" ] ; then echo command_a; else echo cpmmand_b; fi;
如何实现所需的行为?
PS: 我知道回声不应该在那里。
【问题讨论】:
-
我认为你有正确的方法来做到这一点。 Docker 不提供条件语句
-
当你尝试这样做时发生了什么?
-
嗯,它评估 RUN 语句中的条件,一切都像 bash 或 shell 一样
-
@Henry - 它当然只是打印了 :D 它没有执行。
-
所以基本上它按预期工作。现在只需将
echo command_a替换为您要运行的命令即可。
标签: docker dockerfile