使用 Docker 官方映像檔

Docker 建議您在專案中使用 Docker 官方映像檔。這些映像檔具有清楚的文件、提倡最佳實務,並且會定期更新。Docker 官方映像檔支援最常見的使用案例,使其非常適合 Docker 新手。進階使用者可以受益於更專門的映像檔變體,也可以將 Docker 官方映像檔作為您學習 `Dockerfile` 的一部分。

標籤

每個 Docker 官方映像檔的儲存庫描述都包含一個「**支援的標籤和各自的 Dockerfile 連結**」區段,其中列出了所有目前的標籤,以及建立具有這些標籤的映像檔的 Dockerfile 連結。本區段的目的是顯示可用的映像檔變體。

Example: supported tags for Ubuntu

列在同一行的標籤都指的是同一個基礎映像檔。多個標籤可以指向同一個映像檔。例如,在先前從 `ubuntu` Docker 官方映像檔儲存庫擷取的螢幕截圖中,標籤 `24.04`、`noble-20240225`、`noble` 和 `devel` 都指的是同一個映像檔。

Docker 官方映像檔的 `latest` 標籤通常經過最佳化,以便易於使用,並且包含各種實用的軟體,例如開發人員和建置工具。藉由將映像檔標記為 `latest`,映像檔維護者基本上建議將該映像檔用作預設值。換句話說,如果您不知道要使用哪個標籤或不熟悉基礎軟體,您應該從 `latest` 映像檔開始。隨著您對軟體和映像檔變體的了解越來越深入,您可能會發現其他映像檔變體更適合您的需求。

精簡映像檔

許多語言堆疊,例如 Node.jsPythonRuby多階段建置

Alpine 映像檔

許多 Docker 官方映像檔倉庫也提供 alpine 變體。這些映像檔是建立在 Alpine Linux 發行版之上,而不是 Debian 或 Ubuntu。Alpine Linux 專注於為容器映像檔提供一個小巧、簡單且安全的基礎,而 Docker 官方映像檔的 alpine 變體通常旨在僅安裝必要的套件。因此,Docker 官方映像檔的 alpine 變體通常比 slim 變體更小。

主要需要注意的是,Alpine Linux 使用 musl libc ,而不是 glibc說明代號

標籤中看起來像玩具總動員角色的詞(例如,bookwormbullseyetrixie)或形容詞(例如 focaljammynoble)表示它們使用的 Linux 發行版代號作為基礎映像檔。Debian 發行版代號是 基於玩具總動員角色其他標籤

除了這裡描述的之外,Docker 官方映像檔標籤可能還包含其他提示,說明其映像檔變體的用途。通常,這些標籤變體會在 Docker 官方映像檔倉庫文件中進行說明。閱讀「如何使用此映像檔」和「映像檔變體」章節將幫助您了解如何使用這些變體。