2017-10-17 264 views
1

這裏是一個愚蠢的例子,通過指令以shell的形式運行多個命令。我寧願使用exec-form,但我不知道如何連接指令。多執行命令的Docker CMD exec-form

殼形式:

CMD mkdir -p ~/my/new/directory/ \ 
&& cd ~/my/new/directory \ 
&& touch new.file 

EXEC形式:

CMD ["mkdir","-p","~/my/new/directory/"] 
# What goes here? 

有人可以提供相當於語法EXEC形式

回答

2

簡短的回答是,您不能將執行表格中的命令鏈接在一起。

&&是shell的函數,它用於將命令鏈接在一起。實際上,當您在Dockerfile中使用此語法時,實際上是利用了shell功能。

如果你想有一個與EXEC形式多個命令,那麼你確實使用了EXEC形式來調用外殼如下...

CMD ["sh","-c","mkdir -p ~/my/new/directory/ && cd ~/my/new/directory && touch new.file"] 
+0

了'sh'初始命令是我忘記預先登記 - 執行形式不採取或使用外殼 –