当用户同时写了commandargs的时候自然是可以覆盖DockerFile中ENTRYPOINT的命令行和参数,那么对于具体情况呢,比如仅仅写了command或者args的时候呢?完整的情况分类如下:

  • 如果commandargs均没有写,那么用Docker默认的配置。
  • 如果command写了,但args没有写,那么Docker默认的配置会被忽略而且仅仅执行.yaml文件的command(不带任何参数的)。
  • 如果command没写,但args写了,那么Docker默认配置的ENTRYPOINT的命令行会被执行,但是调用的参数是.yaml中的args
  • 如果如果commandargs都写了,那么Docker默认的配置被忽略,使用.yaml的配置。
Image Entrypoint Image Cmd Container command Container args Command run
[/ep-1] [foo bar] <not set> <not set> [ep-1 foo bar]
[/ep-1] [foo bar] [/ep-2] <not set> [ep-2]
[/ep-1] [foo bar] <not set> [zoo boo] [ep-1 zoo boo]
[/ep-1] [foo bar] [/ep-2] [zoo boo] [ep-2zoo boo]
参考文献
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/

相关文章:

  • 2021-06-09
  • 2021-10-04
  • 2021-12-27
  • 2021-09-19
  • 2021-10-29
  • 2022-12-23
  • 2021-06-08
猜你喜欢
  • 2021-08-20
  • 2021-05-20
  • 2021-07-30
  • 2021-07-03
  • 2021-08-25
  • 2022-12-23
相关资源
相似解决方案