RUN、CMD 和 ENTRYPOINT 這三個 Dockerfile 指令看上去很類似,很容易混淆。本節将通過實踐詳細讨論它們的差別。
簡單的說:
RUN 執行指令并建立新的鏡像層,RUN 經常用于安裝軟體包。
CMD 設定容器啟動後預設執行的指令及其參數,但 CMD 能夠被 <code>docker run</code> 後面跟的指令行參數替換。
ENTRYPOINT 配置容器啟動時運作的指令。
下面我們詳細分析。
Shell 和 Exec 格式
我們可用兩種方式指定 RUN、CMD 和 ENTRYPOINT 要運作的指令:Shell 格式和 Exec 格式,