天天看點

Dockerfile 基礎介紹

這是本專欄的第三部分:鏡像篇,共 8 篇。前兩篇我為你介紹了 Docker 鏡像生命周期的管理,以及鏡像的建構和分發方式。本篇,我來為你介紹 Dockerfile 帶你了解 Dockerfile 中的重點知識,友善你自己定義建構鏡像的行為。下面我們一起進入本篇的學習。

Dockerfile 基本格式

在前面的内容中,我有寫過幾個 Dockerfile,但是并沒有對它做過多介紹。這裡,我們來先看看 Dockerfile 它最基本的格式。如下:

# 注釋
INSTRUCTION arguments
           

看起來很簡單對吧,一般情況下以 # 開頭的内容是注釋,其他内容以指令開頭,後面跟着參數所使用的指令。

指令實際不區分大小寫,但是約定使用大寫。

注意:為什麼說是“一般情況下以 # 開頭的是注釋”呢?這是因為目前有兩種特殊情況。分别是:

  • # escape=

    格式開頭的 Dockerfile
  • # syntax=

    格式開頭的 Dockerfile

使用 escape 主要的需求是轉義 Windows 鏡像的特殊字元;而使用 syntax 的場景目前比較少,主要是使用建構的進階特性,在後續章節中會介紹。

Dockerfile 常用指令介紹

FROM

指定建構鏡像所用的基礎鏡像,通常情況下我們會使用