maintainer 這個參數已經棄用了 官方推薦 LABEL 作為信息標注
ADD 命令
ADD有2個參數,源和目標。它的基本作用是從源系統的文件系統上復制文件到目標容器的的文件系統。如果源是1個URL,那該URL的內容將被下載並復制到容器中。
如 ADD run.sh /
CMD 命令
和RUN命令相似,CMD可以用於執行特定的命令。和RUN不同的是,這些命令不是在鏡像構建的過程中執行的,而是在用鏡像啟動容器后被調用。
如 CMD "command" "arg1" "arg2"
COPY 命令
用於復制文件到鏡像中
COPY <src> <dst>
src 只能是與Dockerfile同級的本地文件
如 COPY run.sh /
ENTRYPOINT 命令
配置一個容器使之可執行化,如果結合CMD命令和ENTRYPOINT命令,可以從CMD命令中移除"application" 而僅僅保留參數,參數將傳遞給ENTRYPOINT命令
如 ENTRYPOINT ["/run.sh","arg1","arg2"]
ENV 用於設置環境變量 。 這些變量以 "key=value"的形式存在,在Dockerfile中其他命令里可以直接引用,並可以在容器內被腳本或者程序調用
如 ENV version=12345
ENV release 1.0.1
EXPOSE 用來指定容器內端口映射到外部,是容器內的應用可以通過端口和外界交互
如 EXPOSE 8080
FROM 指定基礎鏡像
如 FROM lentos:7
LABEL 為鏡像定義標簽信息
如 LABEL job.name="Project1" build.user="admin"
ONBUILD 只針對當前鏡像生效
RUN 是Dockerfile執行shell命令的核心部分。接受命令作為參數並用於創建鏡像,不像CMD命令。RUN命令用於創建進行過程中 多條命令以&或‘;’ 結合
如 RUN yum update -y && yum install -y vim
STOPSIGNAL 當容器退出時給系統發送什么樣的指令
USER 用於設置運行容器的用戶與組
如 USER www.www
USER admin
USER 1000
VOLUME 創建一個可以從本地主機或其他容器掛載的掛載點,一般用來存放數據庫等各種需要持久化的數據
如 VOLUME ["/data"]
WORKDIR 設置CMD指明的命令運行目錄
如 WORKDIR /tmp