昨天跟各位介紹完操作 Docker 的幾個基本指令後,今天我想要跟各位介紹一下什麼是 「 Dockerfile 」,相信有些朋友可能還記得我在Day 07介紹鏡像( Image )的時候有特別提到,但卻沒有額外拉出來介紹,所以今天就讓我來跟你們說說什麼是 Dockerfile 吧!
Dockerfile 是一個用來建構docker images的指令檔,主要是由Dockerfile 指令集組成的,可以建立一個屬於自己的 image,寫完之後,可以用 docker build 這個指令執行 Dockerfile 來建構 docker image。
接下來跟各位介紹一下 Dockerfile 的指令集:
FROM
: Dockerfile 中必須以 FROM 開頭,用來指定 container 的 base image,依照自己的需要的環境去選擇。
ENV
: ENV 是在 build 的時候,可以定義一些變數,讓後面指令在執行時候可以參考,簡單來說,就是設定一個全域變數供後面的程式使用。
COPY
: 跟字面解釋一樣,就是負責將自己需要的檔案複製到目標資料夾裡面。
ADD
: 他的用法跟 COPY 差不多一樣,但 COPY 僅支持本地文件,而 ADD 有幾個比較特殊的功能,例如:將 tar 解壓縮後放入目標資料夾內、從遠端 URL 下載資料放入目標資料夾內。
RUN
: RUN 這指令會在當前的 Image 頂部的新層執行命令並提交結果,每執行一次 RUN 指令就會建立新的一層。
WORKDIR
: 建立工作目錄,所有的指令都在裡面執行。
以上這些指令就是我們建立 Dockerfile 常使用到的指令,透過這些指令就可以建立一個屬於自己的 Image ,明天會教大家如何實作,就請大家拭目以待了!
那今天先到這邊吧,大家再見!