Containerizzazione dell'API del modello
Dockerfile per FastAPI + modello, build multi-stage, endpoint di health check, docker-compose
Containerizzazione dell'API del modello è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Perché Docker?
Docker raccoglie l'API, la versione di Python e tutte le dipendenze in un'unica immagine portabile, che viene eseguita allo stesso modo su qualsiasi macchina. Elimina i problemi del tipo "funziona sul mio laptop" ed è il modo standard per distribuire servizi di machine learning.
Il Dockerfile
Un Dockerfile è una ricetta composta da passaggi di build. Ogni istruzione crea un livello memorizzabile nella cache, quindi ordinare correttamente i passaggi accelera le ricostruzioni.
FROM python:3.11-slim
La riga FROM seleziona un'immagine di base. python:3.11-slim è una piccola immagine Debian con Python preinstallato, molto più leggera dell'immagine completa; riduce quindi le dimensioni finali e la superficie di attacco.
FROM python:3.11-slimWORKDIR /app
WORKDIR imposta la directory di lavoro all'interno del container; i successivi comandi COPY e RUN operano in relazione a essa, mantenendo ordinati i percorsi.
WORKDIR /appCopiare prima requirements.txt
Copi prima requirements.txt, da solo, prima del codice sorgente. Poiché Docker memorizza i livelli nella cache, le dipendenze vengono reinstallate solo quando cambiano i requisiti, non a ogni modifica del codice: le ricostruzioni diventano così molto più rapide.
COPY requirements.txt .RUN pip install --no-cache-dir
RUN esegue un comando di build. --no-cache-dir evita la cache dei download di pip, mantenendo più piccola l'immagine; la cache, del resto, non serve all'interno di un'immagine.
RUN pip install --no-cache-dir -r requirements.txtCopiare il codice sorgente
Ora copi il resto dell'applicazione. Eseguire questa operazione dopo l'installazione con pip fa sì che la modifica del codice non invalidi il livello delle dipendenze memorizzato nella cache.
COPY . .EXPOSE 8000
EXPOSE documenta la porta su cui il container è in ascolto. Non pubblica la porta (questa operazione viene eseguita al momento dell'avvio con -p), ma comunica l'intento a lettori e strumenti.
EXPOSE 8000L'istruzione CMD
CMD definisce il comando predefinito eseguito all'avvio del container. In questo caso avviamo uvicorn associandolo a 0.0.0.0, in modo che sia raggiungibile dall'esterno del container.
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]Il Dockerfile completo
Tutti gli elementi nell'ordine corretto e ottimizzato per la cache:
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"]Build ed esecuzione
Crei l'immagine con un tag, poi la esegua mappando la porta del container su quella dell'host con -p.
# terminal
docker build -t model-api .
docker run -p 8000:8000 model-apiVerifica rapida
Verifichi le Sue conoscenze su Docker.
Riepilogo
Ha containerizzato l'API: FROM python:3.11-slim, WORKDIR /app, copia di requirements.txt come primo elemento, RUN pip install --no-cache-dir, copia del codice sorgente, EXPOSE 8000 e un CMD che avvia uvicorn. Ordinare i passaggi per sfruttare la cache dei livelli mantiene rapide le ricostruzioni. Con questo si conclude il corso sulla distribuzione con FastAPI e questo gruppo di contenuti.
Domande Frequenti
La lezione «Containerizzazione dell'API del modello» è gratuita?
Sì — il testo completo di «Containerizzazione dell'API del modello» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Containerizzazione dell'API del modello»?
Dockerfile per FastAPI + modello, build multi-stage, endpoint di health check, docker-compose Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Containerizzazione dell'API del modello»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Fondamenti di FastAPI per ML engineer
- Schemi Pydantic per richieste e risposte
- Caricamento e serving dei modelli ML
- Containerizzazione dell'API del modello