前端前端是一個元件,它採用人類可讀的建置格式並將其轉換為 LLB,以便 BuildKit 可以執行它。前端可以作為映像檔發佈,使用者可以鎖定特定版本的前端,以確保其適用於其定義中使用的功能。
例如,要使用 BuildKit 建置 Dockerfile,您需要 使用外部 Dockerfile 前端。
BuildKit 是 Docker Desktop 和 Docker Engine v23.0 及更新版本使用者的預設建置器。
如果您已安裝 Docker Desktop,則無需啟用 BuildKit。如果您執行的 Docker Engine 版本早於 23.0,則可以透過設定環境變數或將 BuildKit 設為守護行程式設定中的預設設定來啟用 BuildKit。
若要在執行 docker build
指令時設定 BuildKit 環境變數,請執行
備註
Buildx 一律使用 BuildKit。
若要預設使用 Docker BuildKit,請在 /etc/docker/daemon.json
中編輯 Docker daemon 設定如下,然後重新啟動 daemon。
如果 /etc/docker/daemon.json
檔案不存在,請建立一個名為 daemon.json
的新檔案,然後將以下內容新增到檔案中。然後重新啟動 Docker daemon。
警告
BuildKit 僅完全支援建置 Linux 容器。Windows 容器支援仍處於實驗階段,並在 moby/buildkit#616
中追蹤。
BuildKit 自 0.13 版起已實驗性地支援 Windows 容器 (WCOW)。本節將逐步引導您試用。我們感謝您透過 在此提交問題 提交的任何意見回饋,尤其是關於 buildkitd.exe
的部分。
- 架構:
amd64
、arm64
(二進制檔案可用,但尚未經過官方測試)。 - 支援的作業系統:Windows Server 2019、Windows Server 2022、Windows 11。
- 基礎映像檔:
ServerCore:ltsc2019
、ServerCore:ltsc2022
、NanoServer:ltsc2022
。請參閱 此處的相容性對應表。 - Docker Desktop 4.29 版或更新版本
備註
以下命令需要在 PowerShell 終端機中使用系統管理員(提升權限)權限。
啟用 **Hyper-V** 和 **容器** Windows 功能。
如果您看到 RestartNeeded
為 True
,請重新啟動您的機器並以系統管理員身分重新開啟 PowerShell 終端機。否則,請繼續執行下一步。
在 Docker Desktop 中切換到 Windows 容器。
選擇工作列中的 Docker 圖示,然後選擇 **切換到 Windows 容器...**。
按照 此處 的設定說明安裝 containerd 1.7.7 版或更新版本。
下載並解壓縮最新的 BuildKit 版本。
在 PATH
上安裝 BuildKit 二進制檔案。
啟動 BuildKit daemon。
在另一個具有系統管理員權限的終端機中,建立一個使用本機 BuildKit daemon 的遠端 builder。
備註
這需要 Docker Desktop 4.29 版或更新版本。
透過執行 docker buildx inspect
來驗證 builder 連線。
輸出應指示 builder 平台為 Windows,且 builder 的端點為命名管道。
建立 Dockerfile 並建置 hello-buildkit
映像檔。
建置映像檔並推送至 registry。
推送至 registry 後,使用 docker run
執行映像檔。