k8s中command、args和dockerfile中的entrypoint、cmd之間的關系


當用戶同時寫了commandargs的時候自然是可以覆蓋DockerFile中ENTRYPOINT的命令行和參數,那么對於具體情況呢,比如僅僅寫了command或者args的時候呢?完整的情況分類如下:

  • 如果commandargs均沒有寫,那么用Docker默認的配置。
  • 如果command寫了,但args沒有寫,那么Docker默認的配置會被忽略而且僅僅執行.yaml文件的command(不帶任何參數的)。
  • 如果command沒寫,但args寫了,那么Docker默認配置的ENTRYPOINT的命令行會被執行,但是調用的參數是.yaml中的args
  • 如果如果commandargs都寫了,那么Docker默認的配置被忽略,使用.yaml的配置。
mage 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-2 zoo boo]
參考文獻
https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM