Introduzione
FastAPI è un framework web moderno per Python, progettato per fornire alta prestazione, rendendolo un’ottima scelta per lo sviluppo di applicazioni, specialmente quelle dotate di integrazione AI.
Questo tutorial vi guiderà attraverso il processo di creazione e configurazione di un’applicazione FastAPI su una macchina Ubuntu utilizzando Docker Compose. Questo metodo semplifica la distribuzione e fornisce una solida base per l’integrazione di AI nelle vostre applicazioni.
Creare un’App FastAPI usando Docker Compose
- Configurazione dell’Ambiente Python
- Creare un Ambiente Virtuale
- Installare Docker
- Creare un’Applicazione FastAPI
- Creare Dockerfile e Docker Compose
- Costruire e eseguire il contenitore Docker
- Accedere all’applicazione FastAPI
- Gestire il contenitore Docker
Prerequisiti
Per seguire questo tutorial, avrai bisogno di:
-
Un server che esegue Ubuntu insieme ad un utente non root con privilegi di sudo e una firewall attiva. Per una guida su come impostare questo setup, scegli la tua distribuzione dalla questa lista e segui la nostra guida di impostazione iniziale del server. Assicurati di lavorare con una versione supportata di Ubuntu. In questo tutorial, usiamo una macchina Ubuntu 24.04 LTS.
-
Conoscenza della riga di comando di Linux. Per un approcio o un aggiornamento alla riga di comando, puoi visitare questo guide sulla primer riga di comando Linux.
-
Esegui
sudo apt-get update
nel terminale Ubuntu per assicurarti che il tuo sistema abbia le versioni più recenti e gli aggiornamenti di sicurezza per il software disponibile dai repository configurati nel tuo sistema.
Queste istruzioni sono valide per le versioni più recenti di Ubuntu, cioè Ubuntu 24.04, Ubuntu 22.04, Ubuntu 20.04 e Ubuntu 18.04. Se state utilizzando Ubuntu <=16.04, vi raccomandiamo di aggiornare ad una versione più recente poiché Ubuntu non offre più supporto per queste versioni. Questo insieme di guide vi aiuterà nell’aggiornamento del vostro dispositivo Ubuntu.
Step 1 – Configurazione dell’ambiente Python
In un dispositivo Ubuntu 24.04, Python 3 è già installato come predefinito. Apri il terminale e eseguite il comando seguente per controllare l’installazione di Python 3:
Se Python 3 è già installato sul vostro dispositivo, questo comando restituirà la versione attuale dell’installazione di Python 3. In caso contrario, è possibile eseguire il seguente comando per installare Python 3:
Successivamente, è necessario installare i programmi di installazione dei pacchetti pip
e dev
sul vostro sistema. Il gestore di pacchetti pip
è essenziale per l’installazione di pacchetti dalla Python Package Index, mentre il pacchetto dev
è necessario per la compilazione dei moduli Python che includono codice compilato.
Eseguite il seguente comando nel terminale:
Step 2 – Creare e attivare l’ambiente virtuale
<$>[nota]
Se state utilizzando Ubuntu versione < 24.04, non è necessario creare un ambiente virtuale. Passate al prossimo passo<$>.
Il prossimo passo è creare un ambiente virtuale all’interno dell’installazione di Ubuntu per isolare i pacchetti di Python dalla vostra sistematica. Per fare questo, andate nel vostro directory di lavoro e eseguite il seguente comando:
Questo comando creerà un nuovo ambiente virtuale in una directory denominata fastapi-env
. Qualsiasi pacchetto installate da questo momento in poi sarà isolato dagli altri progetti.
Prossimo, occorre attivare questo ambiente virtuale per garantire che i pacchetti che installate da questo momento in poi siano installati all’interno di questo ambiente isolato.
Al momento dell’esecuzione, noterete che il prompt del terminale è prefissato con il nome dell’ambiente virtuale, come questo:
Step 3 – Installare e abilitare Docker
Il passo successivo è installare Docker e Docker Compose all’interno del vostro ambiente virtuale.
Dopo aver installato Docker, avviante il servizio di Docker e abilitevelo per l’avvio alla boot del sistema:
Per assicurarti dell’ultima versione stabile di Docker Compose, scaricherai il file dalla sua repository ufficiale GitHub invece di usare apt
.
Prima di tutto, conferma che l’ultima versione sia disponibile sulla pagina delle release ufficiali di Docker su GitHub, poi esegui nel terminale il seguente comando CURL.
Esegui il comando seguente per rendere il file binario docker-compose
esecutabile da qualunque utente del computer.
Verifica l’installazione eseguendo:
Step 4 – Creare un’Applicazione FastAPI
Ora è il momento di iniziare a creare un’applicazione Python che utilizza il framework FastAPI. Prima di tutto, crea un file main.py
:
Seguono i dettagli di un semplice applicazione Python che crea una semplice API web utilizzando il framework FastAPI e un modello AI pre-addestrato per analizzare il sentimento di un testo dato.
Per eseguire correttamente quest’applicazione, avrai bisogno delle dipendenze necessarie, ma non dovrai installarle manualmente. L’installazione di questi pacchetti sarà gestita all’interno del file Dockerfile, come viene menzionato nel prossimo passo.
Step 5 – Creare il Dockerfile e il file di configurazione YAML
Prossimo, creerai un Dockerfile per quest’applicazione. Il Dockerfile definisce l’ambiente in cui verrà eseguita la tua applicazione FastAPI. Crea un Dockerfile
nella directory del progetto eseguendo:
Nel editor di testo, aggiungi il seguente contenuto:
Docker Compose semplifica la gestione di applicazioni multi-container. Successivamente, devi creare un file di configurazione docker-compose.yml
nella directory del progetto.
Aggiungi il seguente contenuto all’file vuoto:
In questa configurazione,
version
: Specifica la versione di Docker Compose da usare.services
: Define i servizi da creare.web
: Specifica il nome del servizio che esegue la tua applicazione FastAPI.build
: Specifica la directory da cui costruire l’immagine Docker. In questo caso, è la stessa directory in cui è posizionatodocker-compose.yml
.ports
: Mappa il porto 8000 sulla macchina host al porto 80 all’interno del container.volumes
: Monta la directory corrente come volume all’interno del container, permettendoti di ricaricare il codice in tempo reale.
Step 6 – Costruisci e avvia il contenitore Docker
Usa Docker Compose per costruire quest’immagine Docker e avviare il contenitore:
Questo comando costruisce l’immagine Docker dal file Dockerfile nella directory corrente. Ora, per eseguire l’applicazione reale, esegui il seguente comando nel terminale:
Step 7 – Accesso alla tua applicazione FastAPI
Una volta che il contenitore è in esecuzione, puoi accedere alla tua applicazione FastAPI navigando a http://localhost:8000
nel tuo browser web.
Step 8 [OPZIONALE] – Gestisci il tuo contenitore Docker
Ecco qualche consiglio per aiutarti a controllare meglio l’ambiente containerizzato che sta eseguendo la tua applicazione FastAPI.
-
Per fermare il contenitore in esecuzione, premi Ctrl + C o Command + ..
-
Per rientrare in controllo mentre il contenitore è in esecuzione in background, usare:
-
Per fermare e rimuovere il tuo contenitore, esegui:
Conclusione
In questo tutorial, hai imparato come creare e configurare un’applicazione FastAPI su una macchina Ubuntu utilizzando Docker Compose. Con la velocità di FastAPI e l’efficienza di Docker, puoi costruire applicazioni robuste e scalabili con fiducia.
Source:
https://www.digitalocean.com/community/tutorials/create-fastapi-app-using-docker-compose