Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dockerfile中的条件运行_Docker_Dockerfile - Fatal编程技术网

Dockerfile中的条件运行

Dockerfile中的条件运行,docker,dockerfile,Docker,Dockerfile,在我的Dockerfile中,我有一行: ARG ENV RUN [ "$ENV" = "prod" ] && cp config.py.j2 config.py 但是,当我构建图像时,它会显示: 命令“/bin/sh-c[”($ENV)”=“prod”]&&cp config.py.j2 config.py”返回一个非零代码:1 我怎样才能得到这份工作 谢谢大家! shell中失败布尔表达式的返回代码为1。试试看: $ [ "1" = "0" ] && ech

在我的Dockerfile中,我有一行:

ARG ENV
RUN [ "$ENV" = "prod" ] && cp config.py.j2 config.py
但是,当我构建图像时,它会显示:

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

我怎样才能得到这份工作


谢谢大家!

shell中失败布尔表达式的返回代码为
1
。试试看:

$ [ "1" = "0" ] && echo equal
$ echo $?
1
这正是你所看到的。通过在表达式末尾添加
| |:
,可以在任何情况下显式返回0:

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

可能您试图复制的文件不可访问?你有没有在它的部分尝试过这个命令?也许只是试着运行cp config.py.j2 config.py看看是否有效。啊,这就是原因。命令按预期运行,但返回失败状态。添加
|
零件已成功。非常感谢。