美文网首页
dockerfile中ENTRYPOINT 与 CMD 区别

dockerfile中ENTRYPOINT 与 CMD 区别

作者: 左子穆 | 来源:发表于2019-08-04 18:06 被阅读0次

    ENTRYPOINT 与 CMD 区别

    RUN 指令:用于指定 docker build 过程中要运行的命令。
    语法格式:
    RUN <command> 或
    RUN ["<executeable>","<param1>","param2",...]
    RUN ["/bin/bash","-c","<executeable>","param1","param2",...]

    CMD 指令:类似于 RUN 指令,用于运行程序,但二者运行的时间点不同;CMD 在docker run 时运行,而非docker build;
    CMD 指令的首要目的在于为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束;注意: CMD 指令指定的程序可被 docker run 命令行参数中指定要运行的程序所覆盖。
    语法格式:
    CMD <command> 或
    CMD ["<executeable>","<param1>","<param2>",...]
    CMD ["<param1>","<param2>",...] 该写法是为 ENTRYPOINT 指令指定的程序提供默认参数;
    注意:如果 dockerfile 中如果存在多个CMD指令,仅最后一个生效;

    ENTRYPOINT 指令:类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序;但是, 如果运行 docker run 时使用了 --entrypoint 选项,此选项的参数可当作要运行的程序覆盖 ENTRYPOINT 指令指定的程序;
    语法格式:
    ENTRYPOINT <command> 或
    ENTRYPOINT ["<executeable>","<param1>","<param2>",...]

    例如:
        CMD ["-c"]
        ENTRYPOINT ["top","-b"]
    

    转载:https://www.cnblogs.com/klvchen/p/9238410.html

    相关文章

      网友评论

          本文标题:dockerfile中ENTRYPOINT 与 CMD 区别

          本文链接:https://www.haomeiwen.com/subject/qmvydctx.html