Dockerfile(5) - CMD 指令詳解


CMD

指定容器默認執行的命令

#  exec 形式,推薦
CMD ["executable","param1","param2"]
CMD ["可執行命令", "參數1", "參數2"...]

# 作為ENTRYPOINT的默認參數
CMD ["param1","param2"]

# shell
CMD 命令 param1 param2
 

  

重點

  • 一個 Dockerfile 只有一個 CMD 指令,若有多個,只有最后一個 CMD 指令生效
  • CMD 主要目的:為容器提供默認執行的命令,這個默認值可以包含可執行文件
  • 也可以不包含可執行文件,意味着必須指定 ENTRYPOINT 指令(第二種寫法)

 

exec 模式下使用環境變量

# 錯誤寫法,不會使用 HOME 環境變量
CMD [ "echo", "$HOME" ]

# 正確寫法,需要將 echo 和使用環境變量放一起
CMD [ "sh", "-c", "echo $HOME" ]

 

RUN 和 CMD

  • RUN 可以在構建階段運行很多個命令,而且每運行一個命令都會單獨提交結果
  • CMD 在構建階段執行任何操作,而是指定鏡像默認執行的命令

 


免責聲明!

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



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