Anpassa Azure Linux-avbildningar med Avbildningsanpassare

Image Customizer är ett verktyg med öppen källkod som ändrar befintliga Azure Linux-avbildningar så att de passar ditt specifika scenario. Den använder chroot och loopback-blockenheter för att utföra anpassningar utan att starta en virtuell dator (VM), vilket gör processen snabb, tillförlitlig och enkel att integrera i CI/CD-arbetsflöden. Det här är samma teknik som används för att skapa de officiella Azure Linux-avbildningar. Fullständig konfigurationsreferens och avancerad användning finns i dokumentationen för Bildanpassare.

Note

Azure Image Builder-integrering (AIB) med Image Customizer är ännu inte tillgänglig. För tillfället kan du använda Bildanpassare direkt för att anpassa Azure Linux-avbildningar.

Med Bildanpassare kan du:

  • Lägg till eller ta bort paket.
  • Lägg till filer eller kataloger.
  • Konfigurera användare och systeminställningar.
  • Använd anpassade partitionslayouter.
  • Skapa utdatabilder i flera format.

Image Customizer stöder också kapslad anpassning, så att du kan anpassa en redan anpassad avbildning ytterligare. För team som skapar flera avbildningar bör du överväga att skapa en delad anpassad basavbildning först för att minska underhållskostnaderna.

Note

Azure Linux 4.0 finns nu i förhandsversion och är strikt begränsad till utvärderings- och testningsändamål. Den är inte lämplig för produktionsanvändning.

Förutsättningar

  • Docker installerat på din värddator.
  • En basavbildning: Alla Azure Linux-avbildningar (från Azure Marketplace eller en som du redan underhåller).
  • En konfigurationsfil: En YAML- eller JSON-fil som beskriver dina ändringar.

Värdsystem som stöds

Du kan köra Avbildningsanpassaren på:

  • Azure Linux
  • Ubuntu 22.04

Använda bildanpassare

Image Customizer körs som en container som publicerats till Microsoft Artifact Registry (MCR).

Lista tillgängliga taggar

Lista tillgängliga taggar för containern Image Customizer med följande kommando:

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

Anpassa en bild

Anpassa en avbildning genom att köra containern Image Customizer med basavbildningen och konfigurationsfilen monterad i containern. Ett exempel:

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"

Ersätt följande värden:

Platshållare Description
<shared-dir> Absolut sökväg till katalogen som innehåller basavbildningen och konfigurationsfilen. Den anpassade bilden skrivs också hit.
<base-image.vhdx> Sökväg till basavbildningsfilen som ska ändras.
<config-file.yaml> Sökväg till konfigurationsfilen som beskriver dina ändringar.
<output-image.raw> Sökväg för den anpassade utdatabilden.

Mer information finns i dokumentationen för Bildanpassare.