2016-11-29 115 views
1

有没有办法在Dockerfile中处理RUN命令的结果?具体来说,我想根据它运行的脚本的结果来改变这个命令后面的事件。Dockerfile RUN命令结果

+0

不,这是不可能的,也不是意图(除了将完整构建作为一种“逻辑”失败外)。 Dockerfiles被认为是* deterministic *,并且它们内部的逻辑可能会改变可能的结果。你想达到什么目的? – Lars

回答

0

最好在脚本中包装任何复杂的命令。

然后你就可以执行该脚本

COPY myscript 
RUN myscript 

说脚本,当它运行时,链多个命令,并已获得其结果。
与任何常规shell脚本一样,它可以基于条件语句运行命令。

+0

我可以那样做。但是所述脚本必须是'Dockerfile'中的最后一个命令才能显示一些状态。否则'docker build'将会执行,但不会显示图像构建不正确。 – ilya1725

+0

@ ilya1725如果脚本返回非零退出状态,Dockerfile将失败,不会? (如http://stackoverflow.com/a/37143794/6309中所示) – VonC

+0

是的,它会。也许我想要更多来自Dockerfile的'sh'功能还不存在。 – ilya1725