Docker 入門系列四:Dockerfile-關鍵字

lemon2018發表於2020-04-07

Dockerfile關鍵字

關鍵字 作用 備註
FROM 指定父映象 指定dockerfile基於那個image構建
MAINTAINER 作者資訊 用來標明這個dockerfile作者
LABEL 標籤 用來標明dockerfile的標籤可以使用Label程式碼Maintainer最終都是在docker image基本資訊中可以檢視
Run 執行命令 執行一段命令預設是/bin/sh 格式:RUN command或者 RUN[“command”,”param1”,”param2”]
CMD 容器啟動命令 啟動容器時候的預設命令和ENTRYPOINT配合使用 格式 CMD command param1 param2 或者CMD [“command”,”param1”,”param2”]
COPY 複製檔案 build的時候複製檔案到image中
ADD 新增檔案 build的時候新增檔案到image中 不僅僅侷限於當前的build上下文 可以來源與遠端服務
ENV 環境變數 指定build時候的環境變數可以在啟動的容器的時候通過-e覆蓋格式 ENV name=value
ARG 構建引數 構建引數只在構建的時候使用的引數如果有ENV那麼ENV的相同名字的只始終覆蓋arg的引數
volume 定義外部可以掛載的資料卷 指定build的image哪些目錄可以啟動的時候掛載到檔案系統中啟動容器的時候使用-v 繫結 格式 VOLUME[“目錄”]
EXPOSE 暴露埠 定義容器執行的時候監聽的埠啟動容器的時候使用-p來繫結暴露埠 格式: EXPOSE 8080 或者 EXPOSE 8080/udp
WORKDIR 工作目錄 指定容器內部的工作目錄 如果沒有建立則自動建立 如果指定/ 使用的是絕對地址 如果不是/開頭 那麼是在上一條workdir的路徑的相對路徑
USER 指定執行使用者 指定build或者啟動的時候 使用者在RUN CMD ENTRYPOINT執行的時候的使用者
HEALTHCHECK 健康檢查 指定檢測當前容器健康監測的命令 基本上沒用 因為很多時候應用本身有健康監測機制
ONBUILD 觸發器 當存在ONBUILD關鍵字的映象作為基礎映象的時候 當執行FROM完成之後會執行ONBUID的命令 但是不影響當前映象用處也不怎麼大
STOPSIGNAL 傳送訊號量到宿主機 該STOPSIGNAL指令設定將傳送到容器的系統呼叫訊號以退出
SHELL 指定執行指令碼的shell 指定RUN CMD ENTRYPOINT執行命令的時候使用的shell
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章