CMD 和 ENTRYPOINT 的区别:
-
CMD: 指定容器启动时的默认命令或脚本。如果 Dockerfile 中有多个 CMD 指令,只有最后一个会生效。CMD 会被 docker run 后面的命令行参数覆盖。
CMD ["executable","param1","param2"] CMD command param1 param2
-
ENTRYPOINT: 与 CMD 类似,指定容器启动时的默认命令或脚本。不同之处在于 ENTRYPOINT 不会被覆盖,而是将 docker run 后面的参数当作参数传递给 ENTRYPOINT 指定的命令。
ENTRYPOINT ["executable", "param1", "param2"] ENTRYPOINT command param1 param2