Docker CMD exec-form用于多个命令执行
这是一个通过shell形式的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-form中提供等效的语法吗?
最佳答案
简短的回答是,你不能在exec表单中链接命令.
&安培;&安培;是shell的一个函数,用于将命令链接在一起.实际上,当您在Dockerfile中使用此语法时,实际上是在利用shell功能.
如果你想使用exec表单有多个命令,那么你已经使用exec表单来调用shell,如下所示……
CMD ["sh","-c","mkdir -p ~/my/new/directory/ && cd ~/my/new/directory && touch new.file"]
我们只需要努力,然后剩下的交给时间。