Docker的CMD和ENTRYPOINT的区别

这个问题很基本。至于为什么到现在才想去弄清楚,大抵的理由就是平时不怎么用docker。用也是直接当应用程序一样一跑而已。

简而言之,ENTRYPOINT 指的是,docker container在启动的时候跑的命令。

任何docker container,如果不指定ENTRYPOINT,默认的是运行/bin/ch -c {cmd}

括号里的内容,可以是通过CMD定义的参数, 也可以是通过docker run -i -t image_name <cmd> 传递的参数。

于是,我们自然可以自定义ENTRYPOINT。

需要注意的是,无论是CMD还是ENTRYPOINT,都是只有最后定义的那个才是有效的。

以上。

如果你觉得本文对你有帮助,请给我点赞助。