MLOps Academy · Lektion

Gör avbildningar mindre med byggen i flera steg

Minska avbildningens storlek genom att separera bygg- och runtime-lager.

Lektion 2 av 413 steg

Gör avbildningar mindre med byggen i flera steg är en gratis lektion i MLOps Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för MLOps Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i MLOps Academy innehåller totalt 4 lektioner.

Stora avbilder är ett problem

En uppsvälld avbild är långsam att pusha, hämta och starta, och innehåller mer som måste patchas. Flerstegsbyggen skickar bara det du faktiskt behöver.

Grundidén

Du använder ett steg för att bygga och ett andra, rent steg för att köra. Byggverktygen lämnas kvar, så den färdiga avbilden förblir liten.

Namnge ett byggsteg

Lägg till AS builder på en FROM-rad för att namnge ett steg. Senare kan du hänvisa till namnet för att hämta filer från det.

FROM python:3.11 AS builder

Installera i builder-steget

I builder-steget installerar du beroenden i ett känt prefix. Flaggan --user placerar allt prydligt under en enda mapp som kan kopieras.

RUN pip install --user --no-cache-dir -r requirements.txt

Starta runtime-steget

Öppna ett nytt, slimmat steg för det som faktiskt ska köras. Det innehåller inga kompilatorer eller cachar som builder-steget behövde.

FROM python:3.11-slim

Kopiera bara artefakterna

Använd COPY --from=builder för att bara hämta de installerade paketen till runtime-steget. Det tunga bygglagret lämnas kvar.

COPY --from=builder /root/.local /root/.local

Ta med koden

Kopiera även programmets källkod till det slimmade steget. Nu innehåller den färdiga avbilden din kod och endast dess runtime-beroenden.

COPY . /app

Korrigera sökvägen

Användarinstallerade paket ligger under .local, så lägg till det i PATH. Annars hittar runtime-miljön inte dina installerade kommandon.

ENV PATH=/root/.local/bin:$PATH

Bara det sista steget levereras

Docker behåller bara det sista steget i avbilden. Allt i tidigare steg tas bort om du inte uttryckligen kopierar det.

Testa Distroless

För minsta och säkraste resultat kan du köra på en distroless-bas utan skal eller pakethanterare. En mindre attackyta innebär färre saker att utnyttja.

Mät vinsten

Kontrollera storleksminskningen med docker images. Att minska från över en gigabyte till ett par hundra megabyte är vanligt och värt besväret.

docker images model-api

Snabb kontroll

Nu kontrollerar vi vad ett flerstegsbygge behåller.

Sammanfattning

Du separerade bygge från runtime, kopierade bara artefakterna med COPY --from, korrigerade PATH och minskade avbilden. Lätt och snabbt. ✅

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Gör avbildningar mindre med byggen i flera steg” gratis?

Ja – hela texten till ”Gör avbildningar mindre med byggen i flera steg” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i MLOps Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i MLOps Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Gör avbildningar mindre med byggen i flera steg”?

Minska avbildningens storlek genom att separera bygg- och runtime-lager. Ni övar på MLOps Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig MLOps Academy?

Du behöver inga förkunskaper. Utbildningen i MLOps Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Gör avbildningar mindre med byggen i flera steg”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här MLOps Academy-lektionen?

Ja. Varje MLOps Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Skriv en Dockerfile för ett modell-API
  2. Gör avbildningar mindre med byggen i flera steg
  3. Skicka konfiguration via miljövariabler
  4. Kör och testa containern lokalt
← Tillbaka till MLOps Academy