2014-12-02 27 views
0

在Dockerfile,RUN有2種形式:如何在Dockerfile中將任意命令編碼爲exec形式?

  • RUN <command>(命令是在殼運行 -/bin/sh的-c - 殼形式)
  • RUN ["executable", "param1", "param2"](EXEC形式)

如何編碼>,>>,<,&&||作爲exec形式?


這是一個非常簡單的dockerfile。我想重寫RUN <command>作爲執行形式。
但我不知道如何。

# Dockerfile 
FROM ubuntu:14.04 
RUN date > /tmp/out && echo 'hello world' >> /tmp/out 
CMD cat /tmp/out 
+0

您能否給出一些描述此請求背後的內容?它讀起來像「給出了兩個選擇,A和B,我想做A,但是通過做B」,這是沒有意義的。 – Bryan 2014-12-02 10:20:25

回答

5

根據https://docs.docker.com/engine/reference/builder/#/run

不同於殼的形式中,EXEC形式不調用命令殼。這意味着正常的shell處理不會發生。

因此,我認爲有在EXEC形式使用這些殼解釋的字符(如>>><&&||)沒有直接的方法。

相關問題