Dockerfile中的条件运行

问题描述 投票:1回答:1

在我的Dockerfile中,我有这一行:

ARG ENV
RUN [ "$ENV" = "prod" ] && cp config.py.j2 config.py

但是,当我构建图像时,它显示:

命令'/ bin / sh -c [“($ ENV)”=“prod”] && cp config.py.j2 config.py'返回非零代码:1

我怎样才能完成这项工作?

谢谢!

docker dockerfile
1个回答
0
投票

shell中失败的布尔表达式的返回码是1。试试吧:

$ [ "1" = "0" ] && echo equal
$ echo $?
1

这正是你所看到的。通过将|| :添加到表达式的末尾,您可以在每种情况下显式返回0:

$ [ "1" = "0" ] && echo equal || :
$ echo $?
0
© www.soinside.com 2019 - 2024. All rights reserved.