当启动一个容器时,CMD和ENTRYPOINT都可以用来执行启动命令。但它们的具体用法还是有一些区别:
  1. Dockerfile必须至少指定CMD或者ENTRYPOINT其中的一个。
  2. ENTRYPOINT应该用作容器的主执行程序。
  3. CMD应该用于定义ENTRYPOINT的默认参数,或者为容器执行一个ad-hoc命令。
  4. 当启动容器时使用交互时的参数时,CMD命令会被覆盖。