Dockerfile中ENTRYPOINT和CMD有甚么不同
ENTRYPOINT和CMD都是Dockerfile中用来指定容器启动时要履行的命令的指令,它们的不同以下:
1. CMD指定容器启动时要履行的命令,可以有多个CMD指令,但只有最后一个CMD指令会生效。CMD指令可以被docker run命令的参数覆盖。
2. ENTRYPOINT也指定容器启动时要履行的命令,但只能有一个ENTRYPOINT指令,多个ENTRYPOINT指令会被覆盖。ENTRYPOINT指令不会被docker run命令的参数覆盖,而是将docker run命令的参数作为ENTRYPOINT指令的参数传递进去。
简而言之,CMD用于定义默许的命令和参数,可以被docker run命令的参数覆盖,而ENTRYPOINT用于定义容器的主要命令,不会被docker run命令的参数覆盖。
TOP