Docker CMD exec-form用于多个命令执行


这是一个通过shell形式的CMD指令运行多个命令的愚蠢示例.我更喜欢使用exec-form,但我不知道如何连接指令.

壳的形式:

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

EXEC形式:

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

有人可以在exec-form中提供等效的语法吗?

最佳答案
简短的回答是,你不能在exec表单中链接命令.

&安培;&安培;是shell的一个函数,用于将命令链接在一起.实际上,当您在Dockerfile中使用此语法时,实际上是在利用shell功能.

如果你想使用exec表单有多个命令,那么你已经使用exec表单来调用shell,如下所示……

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM