使用 Image Customizer 自訂 Azure Linux 映像

Image Customizer 是一款開源工具,可以修改現有的 Azure Linux 映像檔以符合你的特定情境。 它利用 chroot 迴回區塊裝置,在不啟動虛擬機(VM)的情況下執行自訂化,使流程快速、可靠且易於整合進 CI/CD 工作流程。 這也是用來建置官方 Azure Linux 映像檔的技術。 完整組態參考及進階使用方法,請參閱 影像自訂器文件。

Note

Azure Image Builder(AIB)與 Image Customizer 的整合尚未推出。 目前,你可以直接使用 Image Customizer 來自訂 Azure Linux 映像檔。

使用 Image Customizer,你可以:

  • 新增或移除套件。
  • 新增檔案或目錄。
  • 設定使用者與系統設定。
  • 套用自訂分割區配置。
  • 產出多種格式的輸出影像。

圖片自訂器也支援巢狀自訂,讓你能進一步自訂已自訂的圖片。 對於建立多個映像檔的團隊,建議先建立共用的自訂基礎映像檔,以降低維護負擔。

Note

Azure Linux 4.0 目前已進入 preview,僅限於評估與測試用途。 它不適合生產使用。

先決條件

  • Docker 安裝在你的主機上。
  • 基礎映像:任何Azure Linux 映像檔(來自Azure Marketplace或你已維護的)。
  • 設定檔:描述你修改內容的 YAML 或 JSON 檔案。

支援的主機系統

你可以在以下平台執行影像自訂器:

  • Azure Linux
  • Ubuntu 22.04 版本

使用影像自訂工具

影像自訂器以容器形式執行,發佈至 Microsoft Artifact Registry(MCR)。

可用標籤列表

請使用以下指令列出影像客製化容器可用的標籤:

curl -s "https://mcr.microsoft.com/v2/azurelinux/imagecustomizer/tags/list" | jq '.tags[]'

自訂圖片

透過執行映像自訂工具容器,以及掛載到容器中的基礎映像和設定檔,來自訂映像。 例如:

docker run --rm \
    --privileged \
    -v "<shared-dir>:z" \
    -v "/dev:/dev" \
    "mcr.microsoft.com/azurelinux/imagecustomizer:latest" \
    imagecustomizer \
        --image-file <base-image.vhdx> \
        --config-file <config-file.yaml> \
        --output-image-format raw \
        --output-image-file <output-image.raw> \
        --build-dir "/tmp"

替換以下數值:

預留位置 Description
<shared-dir> 指向包含你基礎映像檔和設定檔的目錄的絕對路徑。 自訂圖片也寫在這裡。
<base-image.vhdx> 要修改的基礎映像檔路徑。
<config-file.yaml> 描述你修改內容的設定檔路徑。
<output-image.raw> 自訂輸出影像的路徑。

欲了解更多資訊,請參閱 影像自訂器文件。