天天看點

Dockerfile執行個體——(實踐操作!)Dockerfile概述Docker 執行 Dockerfile 的大緻流程:不同階段:Dockerfile 各參數詳解:謝謝閱讀!

 Dockerfile是docker中鏡像檔案的的描述檔案,說的直白點就是鏡像檔案到底是由什麼東西一步步構成的。  例如:你在淘寶上買了一個衣架,但是賣家并沒有給你發一個完整的衣架,而是一些元件和一張圖紙,你按照這個圖紙一步一步将衣架組裝起來,就成了你所需要的樣子。那麼 Dockerfile 就是這張圖紙,鏡像檔案就是你需要的這個衣架,Dockerfile 不建議随便命名,就用 Dockerfile。  是以,Dockerfile其内部包含了一條條的指令,每一條指令建構一層,是以每一條指令的内容,就是描述該層應當如何建構。
1、Dockerfile :是軟體的原材料,需要定義一個Dockerfile,Dockerfile定義了程序需要的一切東西。Dockerfile涉及的内容包括執行代碼或者是檔案、環境變量、依賴包、運作時環境、動态連結庫等等; 2、Docker鏡像 :是軟體的傳遞品,用Dockerfile定義一個檔案之後,docker build時會産生一個Docker鏡像,當運作 Docker鏡像時,會真正開始提供服務; 3、Docker容器 :則可以認為是軟體的運作态,容器是直接提供服務的。
FROM:指明建構的新鏡像是來自于哪個基礎鏡像; MAINTAINER:指明鏡像維護者及其聯系方式; RUN:執行什麼指令; CMD:指定一個容器啟動時要運作的指令,Dockerfile 中可以有多個 CMD 指令,但隻有最後一個生效,CMD 會被 docker run 之後的參數替換; EXPOSE:聲明容器運作的服務端口; ENV:建構鏡像過程中設定環境變量; ADD:将主控端上的目錄或者檔案拷貝到鏡像中(會幫你自動解壓,無需額外操作); COPY:作用與ADD類似,但是不支援自動下載下傳和解壓; ENTRYPOINT:指定一個容器啟動時要運作的指令,用法類似于CMD,隻是有由ENTRYPOINT啟動的程式不會被docker run指令行指定的參數所覆寫,而且,這些指令行參數會被當作參數傳遞給ENTRYPOINT指定的程式; VOLUME:容器資料卷,指定容器挂載點到主控端自動生成的目錄或者其他容器(資料儲存和持久化工作,但是一般不會在 Dockerfile 中用到,更常見的還是指令 docker run 的時候指定 -v 資料卷。); WORKDIR:相當于cd指令,切換目錄路徑;
Dockerfile執行個體——(實踐操作!)Dockerfile概述Docker 執行 Dockerfile 的大緻流程:不同階段:Dockerfile 各參數詳解:謝謝閱讀!
Dockerfile執行個體——(實踐操作!)Dockerfile概述Docker 執行 Dockerfile 的大緻流程:不同階段:Dockerfile 各參數詳解:謝謝閱讀!
Dockerfile執行個體——(實踐操作!)Dockerfile概述Docker 執行 Dockerfile 的大緻流程:不同階段:Dockerfile 各參數詳解:謝謝閱讀!