Dockerisera modell-API:t
Dockerfile för FastAPI + modell, byggen i flera steg, slutpunkt för hälsokontroll, docker-compose.
Dockerisera modell-API:t är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär Er AI med Python, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Varför Docker?
Docker paketerar ert API, dess Python-version och alla beroenden i en portabel image som kör likadant på alla datorer. Det eliminerar problemen med ”det fungerar på min dator” och är standardsättet att leverera ML-tjänster.
Dockerfile
En Dockerfile är ett recept med byggsteg. Varje instruktion skapar ett cachat lager, så en bra ordning på stegen snabbar upp ombyggnader.
FROM python:3.11-slim
Raden FROM väljer en basimage. python:3.11-slim är en liten Debian-image med Python förinstallerat, betydligt mindre än den fullständiga imagen, vilket minskar den slutliga storleken och attackytan.
FROM python:3.11-slimWORKDIR /app
WORKDIR anger arbetskatalogen inuti containern. Efterföljande COPY- och RUN-kommandon körs relativt till den, vilket håller sökvägarna överskådliga.
WORKDIR /appKopiera requirements först
Kopiera enbart requirements.txt före källkoden. Eftersom Docker cachar lager installeras beroenden bara när requirements ändras, inte vid varje kodändring, vilket dramatiskt snabbar upp ombyggnader.
COPY requirements.txt .RUN pip install --no-cache-dir
RUN kör ett byggkommando. --no-cache-dir hoppar över pips nedladdningscache så att imagen blir mindre (cachen är ändå oanvändbar inuti en image).
RUN pip install --no-cache-dir -r requirements.txtKopiera källkoden
Kopiera nu resten av applikationen. Genom att göra detta efter pip-installationen blir den cachade beroendelagret inte ogiltigt när ni redigerar koden.
COPY . .EXPOSE 8000
EXPOSE dokumenterar vilken port containern lyssnar på. Det publicerar inte porten i sig (det gör ni vid körning med -p), men signalerar avsikten till läsare och verktyg.
EXPOSE 8000CMD-instruktionen
CMD definierar standardkommandot som körs när containern startar. Här startar vi uvicorn och binder till 0.0.0.0 så att tjänsten kan nås utifrån containern.
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Den kompletta Dockerfile-filen
Alla delar i rätt, cachevänlig ordning:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Bygga och köra
Bygg imagen med en tagg och kör den sedan genom att mappa containerns port till värddatorn med -p.
# terminal
docker build -t model-api .
docker run -p 8000:8000 model-apiSnabbtest
Testa era kunskaper om Docker.
Sammanfattning
Ni dockeriserade API:t: FROM python:3.11-slim, WORKDIR /app, kopierade requirements.txt först, körde RUN pip install --no-cache-dir, kopierade källkoden, angav EXPOSE 8000 och lade till en CMD som startar uvicorn. Genom att ordna stegen för lagercachning hålls ombyggnaderna snabba. Därmed är kursen om att servera med FastAPI och den här innehållsomgången avslutad.
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
- 53
- Lektioner
- 225
Vanliga frågor
Är lektionen ”Dockerisera modell-API:t” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Dockerisera modell-API:t”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Vad lär jag mig i ”Dockerisera modell-API:t”?
Dockerfile för FastAPI + modell, byggen i flera steg, slutpunkt för hälsokontroll, docker-compose. Ni övar på Lär Er AI med Python 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 Lär Er AI med Python?
Du behöver inga förkunskaper. Utbildningen i Lär Er AI med Python 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 4 av 4.
Hur lång tid tar lektionen ”Dockerisera modell-API:t”?
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 Lär Er AI med Python-lektionen?
Ja. Varje Lär Er AI med Python-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
- Grunderna i FastAPI för ML-ingenjörer
- Pydantic-scheman för förfrågningar och svar
- Läsa in och tillhandahålla ML-modeller
- Dockerisera modell-API:t