(1)FROM :Dockfile的第一條指令格式:FROM image 或者 FROM image:tagdocker
(2)MAINTAINER:維護人員信息 bash
(3)RUN:執行指令 ,格式爲RUN command 或者RUN ["executable", "param1", "param2"]ui
RUN command 默認執行 /bin/sh -c .spa
-c string If the -c option is present, then commands are read from string. If there are arguments after the string, they are assigned to the positional parameters, starting with $0.ip
-c 就是執行某個命令string
(4)CMD :指定容器啓動時執行的命令it
(5)EXPOSE :告訴Docker服務端容器暴露的端口io
(6)ENV:設置環境變量:格式 ENV key value ,設置的變量能夠被bash 使用table
(7)ADD 格式 ADD src dest容器
複製指定的src 目錄 到容器的 dest 目錄。src 爲你要編寫的dockfile所在目錄的一個相對目錄。src也能夠是一個URL,還能夠是一個tar(自動解壓爲目錄)
(8)COPY ,格式爲COPY src dest ,src 爲dockfile 所在目錄的相對路徑文件或者目錄 ,使用本地目錄爲src的時候推薦使用COPY
(9)ENTRYPOINT(進入點): 格式:ENTRYPOINT ["executable", "param1", "param2"] 或者 ENTERPOINT command param1 param2
配置容器啓動後執行的命令 而且不能夠被docker run 提供的參數覆蓋 每一個Dockfile只能有一個,多個以最後一個爲準
tips:Build時執行RUN,RUN時執行CMD,也就是說,CMD纔是鏡像最終執行的命令。
CMD命令是可覆蓋的,docker run後面輸入的命令與CMD指定的命令匹配時,會把CMD指定的命令替換成docker run中帶的命令。而ENTRYPOINT指定的命令只是一個「入口」,docker run後面的內容會所有傳給這個「入口」,而不是進行命令的替換
VOLUME:掛載點 數據卷相關
USER:指定運行容器時的用戶名或者用戶ID
WORKDIR:爲RUN和CMD,ENTERPOINT指定的目錄
ONBUILD:配置當前所在鏡像做爲其餘新建鏡像時所執行的操做指令