De model-API containeriseren met Docker
Dockerfile voor FastAPI + model, multi-stage builds, healthcheck-endpoint, docker-compose.
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-slimWORKDIR /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 /apprequirements.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.txtDe 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 8000De 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-apiKorte 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.
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
- FastAPI-basis voor ML-engineers
- Pydantic-schema's voor requests en responses
- ML-modellen laden en serveren
- De model-API containeriseren met Docker