泊坞窗shell语法(这仅仅是一个字符串作为
RUN,
ENTRYPOINT和
CMD)将运行字符串作为参数
/bin/sh-c。这为您提供了一个外壳程序,用于将变量,子命令,管道输出,链接命令链接在一起,以及其他方便的外壳程序。
RUN ls * | grep $trigger_filename || echo file missing && exit 1
exec语法只是运行包含的args提供的二进制文件,而没有外壳解析的任何功能。在docker中,您可以使用json格式的数组来表明这一点。
RUN ["/bin/app", "arg1", "arg2"]
exec语法的优点是从启动的进程中删除了shell,这可能会抑制信号处理。使用
/bin/sh-cShell语法重新格式化命令可能还会破坏入口点和cmd的串联。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)