2016-11-29 162 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