Leer AI met Python · Les

De model-API containeriseren met Docker

Dockerfile voor FastAPI + model, multi-stage builds, healthcheck-endpoint, docker-compose.

Les 4 van 413 stappen

De model-API containeriseren met Docker is een gratis Leer AI met Python-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.

Waarom Docker?

Docker verpakt je API, de Python-versie en alle afhankelijkheden in één draagbare image die op elke machine hetzelfde draait. Zo verdwijnen problemen van het type "het werkt op mijn laptop" en krijg je de standaardmanier om ML-diensten te distribueren.

Het Dockerfile

Een Dockerfile is een recept met bouwstappen. Elke instructie maakt een gecachte laag, dus een goede volgorde van de stappen versnelt het opnieuw bouwen.

FROM python:3.11-slim

De regel FROM kiest een basisimage. python:3.11-slim is een kleine Debian-image met vooraf geïnstalleerde Python, veel lichter dan de volledige image. Daardoor wordt je uiteindelijke image kleiner en neemt het aanvalsoppervlak af.

FROM python:3.11-slim

WORKDIR /app

WORKDIR stelt de werkmap in de container in. Daaropvolgende COPY- en RUN-opdrachten werken relatief ten opzichte van deze map, waardoor de paden overzichtelijk blijven.

WORKDIR /app

requirements.txt eerst kopiëren

Kopieer alleen requirements.txt vóór de broncode. Omdat Docker lagen in de cache opslaat, worden afhankelijkheden alleen opnieuw geïnstalleerd wanneer de vereisten veranderen en niet bij elke codewijziging. Hierdoor verlopen nieuwe builds veel sneller.

COPY requirements.txt .

RUN pip install --no-cache-dir

RUN voert een bouwopdracht uit. --no-cache-dir slaat de downloadcache van pip over, zodat de image kleiner blijft. Die cache is in een image toch niet bruikbaar.

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

De broncode kopiëren

Kopieer nu de rest van je toepassing. Doordat je dit na de installatie van pip doet, maakt het aanpassen van code de gecachte laag met afhankelijkheden niet ongeldig.

COPY . .

EXPOSE 8000

EXPOSE documenteert op welke poort de container luistert. De poort wordt er niet zelf mee gepubliceerd; dat doe je tijdens het uitvoeren met -p. Wel maakt EXPOSE de bedoeling duidelijk voor lezers en hulpmiddelen.

EXPOSE 8000

De CMD-instructie

CMD definieert de standaardopdracht die wordt uitgevoerd wanneer de container start. Hier starten we uvicorn en binden we aan 0.0.0.0, zodat de dienst van buiten de container bereikbaar is.

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Het volledige Dockerfile

Alle onderdelen in de juiste, cachevriendelijke volgorde:

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"]

Bouwen en uitvoeren

Bouw de image met een label en voer haar vervolgens uit. Koppel de containerpoort aan je hostpoort met -p.

# terminal
docker build -t model-api .
docker run -p 8000:8000 model-api

Korte toets

Toets je kennis van Docker.

Samenvatting

Je hebt de API in Docker verpakt: FROM python:3.11-slim, WORKDIR /app, eerst requirements.txt kopiëren, RUN pip install --no-cache-dir, de broncode kopiëren, EXPOSE 8000 en een CMD die uvicorn start. Door de stappen voor caching van lagen in de juiste volgorde te zetten, blijven nieuwe builds snel. Daarmee zijn de FastAPI-cursus voor het aanbieden van modellen en deze inhoudsreeks voltooid.

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
53
Lessen
225

Veelgestelde vragen

Is de les “De model-API containeriseren met Docker” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “De model-API containeriseren met Docker”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.

Wat leer ik in “De model-API containeriseren met Docker”?

Dockerfile voor FastAPI + model, multi-stage builds, healthcheck-endpoint, docker-compose. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Leer AI met Python te beginnen?

Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “De model-API containeriseren met Docker”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?

Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. FastAPI-basis voor ML-engineers
  2. Pydantic-schema's voor requests en responses
  3. ML-modellen laden en serveren
  4. De model-API containeriseren met Docker
← Terug naar Leer AI met Python