首先上官方文档:https://docs.docker.com/engine/reference/builder/#cmd
- 如果 docker run 指定了其他命令,CMD 指定的默认命令将被忽略。
- 如果 Dockerfile 中有多个 CMD 指令,只有最后一个 CMD 有效。
- 在Dockerfile中,只能有一个ENTRYPOINT指令,如果有多个ENTRYPOINT指令则以最后一个为准。
- 如果镜像中设定了ENTRYPOINT,那么命令中的CMD会作为参数追加到ENTRYPOINT中。
- docker run的–entrypoint可以覆盖Dockerfile中ENTRYPOINT设置的命令。
- 在dockerfile中CMD和ENTRYPOINT不需谁先谁后