跳到主要内容

简述Docker的CMD指令 ?

参考答案:

Docker的CMD指令用于定义容器启动后要执行的命令及其参数。它是Dockerfile中的指令之一,用于配置容器在启动时的默认行为。

CMD指令的格式如下:

CMD ["executable","param1","param2"]
CMD ["param1","param2"]
CMD command param1 param2

以下是关于CMD指令的一些重要点:

  1. CMD指令在Dockerfile中可以出现多次,但只有最后一个会被执行。如果容器以命令行方式运行并且提供了参数,这些参数会覆盖CMD指令中定义的参数。
  2. 如果Dockerfile中既包含CMD指令,又包含ENTRYPOINT指令,那么CMD指令的参数会被作为ENTRYPOINT指令的默认参数。这意味着你可以通过ENTRYPOINT定义一个容器的主命令,然后通过CMD提供默认的参数。
  3. CMD指令定义的命令会在容器以交互模式或非守护进程模式运行时执行。如果容器以守护进程模式运行(即后台运行),则CMD指令定义的命令会在容器启动后立即执行。

总的来说,CMD指令在Dockerfile中用于定义容器启动后要执行的默认命令和参数。它提供了灵活的方式来配置容器的启动行为,并与ENTRYPOINT指令一起使用时可以实现更复杂的命令和参数组合。