Dockerfile指令
1、CMD CMD指定容器被啟動時執行的命令,RUN指定映象被構建時執行的命令。CMD要執行的命令是存放在陣列結構中(CMD[“/bin/true”]),docker run 命令可覆蓋CMD指令。在Dockerfile中只能執行一條CMD指令,若指定多條CMD指令則只會執行最後一條。 2、ENTRYPOINT 此指令提供的命令不容易在容器啟動時被覆蓋,docker run命令列中指定的任何引數都會被當作引數再次傳遞給ENTRYPOINT指令中指定的命令。可通過docker run的–entrypoint標誌覆蓋該指令。 可組合使用ENTRYPOINT和CMD命令。如: ENTRYPOINT[“/usr/sbin/nginx”] CMD[“-h”] 若在啟動容器時在命令列中指定引數 -g “daemon off;”,則被傳遞給Nginx守護程序,讓Nginx以前臺方式執行;若不指定任何引數,則CMD中的引數被傳遞給Nginx守護程序,Nginx伺服器會以/usr/sbin/nginx-h的方式啟動,來顯示Nginx的幫助資訊。 3、WORKDIR 該指令為Dockerfile中的指令設定工作目錄,也可為最終的容器設定工作目錄。 在命令列可通過-w標誌在執行時覆蓋工作目錄。 4、ENV 用來在映象過程中設定環境變數。可在其他指令中直接使用。環境變數會被持久儲存到映象建立的任何容器中。可使用docker run命令列的-e標誌來傳遞環境變數,這樣的變數只在執行時有效。 5、USER 指定映象以什麼樣的使用者執行,不指定預設為root。可指定使用者名稱或UID以及組或GID,甚至是兩者的組合。 6 VOLUME 向基於映象建立的容器添加捲.卷是可存在於一個或多個容器內的特定目錄,卷可以在容器間共享和重用,卷會一直存在直到沒有任何容器使用它.