▪️Dockerfile - 指令
2023-6-29
| 2025-4-10
字數 653閱讀時間 2 分鐘
以下為範例:
 

FROM ⇒ 選擇基本映像檔

  • 為了安全性,請盡量選擇官方或開源的基本 image
  • 固定 tag (版本),避免使用 latest
  • 盡量選擇體積小的

RUN ⇒ 在 image 裡執行指令

  • 主要用來安裝軟件,下載文件等
  • 覆數命令另盡量用一次 RUN 就好,以優化最後生成的 image 分層 (可使用 image history 查看)

ADD ⇒ 複製本地指定檔案到 image 內的指定目錄 (會自動解壓縮)

  • 文件權線也會被一併複製
  • image 內指令路徑不存在則會自動創建

COPY ⇒ 複製本地指定檔案到 image 內的指定目錄(不會自動解壓縮)

  • 文件權線也會被一併複製
  • image 內指令路徑不存在則會自動創建

WORKDIR ⇒ 切換 image 內路徑

  • image 內指令路徑不存在則會自動創建

ARG ⇒ 設定變數 (只供 Dockerfile build image 階段使用)


ENV ⇒ 設定環境變數 (可供後續 -it 引用)


CMD ⇒ 設置 container 啟動時執行的命令

  • CMD 命令會從基礎 image 的 dockerfile 繼承下來,但是只有最後一個 CMD 會被執行
  • 如果執行 docker container run 時指定命令,則 CMD 的命令會被取代
  • CMD [] 的話會讓預設 image 命令被取消

ENTRYPOINT ⇒ 設置 container 啟動時執行的命令

  • 跟 CMD 原理一樣,但是 ENTRYPOINT 不可以被取代

USER ⇒ 指定使用者


VOLUME ⇒ 指定資料卷來存儲容器檔案


EXPOSE ⇒ 告訴使用者可以用哪個 port 來做映射

ex: EXPOSE 5000 這樣就是告訴使用者可以使用 5000 port 來進行映射 這樣就可以 docker run -p 5000:5000 來映射
  • Docker
  • 共享主機、VPS主機、雲端主機Image - 指令
    Loading...