CMD用於容器啟動后默認執行的命令,支持三種格式,多條CMD僅最后一條生效。
Exec 格式:CMD ["executable","param1","param2"](推薦格式)
CMD ["param1","param2"] 為 ENTRYPOINT 提供額外的參數,此時 ENTRYPOINT 必須使用 Exec 格式。
Shell 格式:CMD command param1 param2
ENTRYPOINT用於容器啟動以后執行的命令,支持兩種格式,多條ENTRYPOINT僅最后一條生效。
Exec 格式:ENTRYPOINT ["executable", "param1", "param2"](推薦格式)
Shell 格式:ENTRYPOINT command param1 param2
區別:
如docker run 指定了其他命令,CMD 指定的默認命令和參數將被忽略,而ENTRYPOINT的命令和參數一定會執行。
//另外,二者並不沖突,可共存更好的提供運行策略。