温馨提示×

Dockerfile中ENTRYPOINT和CMD有什么区别

小亿
126
2023-08-12 02:30:38
栏目: 编程语言

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命令的参数覆盖。

0