maintainer 這個參數已經棄用了 官方推薦 LABEL 做爲信息標註shell
ADD 命令數據庫
ADD有2個參數,源和目標。它的基本做用是從源系統的文件系統上覆制文件到目標容器的的文件系統。若是源是1個URL,那該URL的內容將被下載並複製到容器中。vim
如 ADD run.sh /app
CMD 命令ui
和RUN命令類似,CMD能夠用於執行特定的命令。和RUN不一樣的是,這些命令不是在鏡像構建的過程當中執行的,而是在用鏡像啓動容器後被調用。io
如 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