Inleiding
FastAPI is een moderne webgebaseerde applicatieomgeving voor Python die is ontworpen om hoge prestaties te leveren, waardoor het een uitstekkeke keuze is voor het ontwikkelen van applicaties, vooral AI-gebaseerde applicaties.
Dit handleiding zal u door het proces leiden van het maken en instellen van een FastAPI-toepassing op een Ubuntu-machine met behulp van Docker Compose. Deze methode vereenvoudigt de deployering en biedt een sterke basis voor de integratie van AI in uw applicaties.
FastAPI-applicatie bouwen met Docker Compose
- Python-omgeving instellen
- Maak een virtuele omgeving
- Installeer Docker
- Maak een FastAPI-toepassing
- Aanmaken van een Dockerfile en Docker Compose
- Bouwen en draaien van een Docker container
- Toegang tot de FastAPI-toepassing
- Beheer Docker container
Vereisten
Om deze handleiding te volgen, heb je nodig:
-
Een server die Ubuntu draait, samen met een niet-rootgebruiker die sudo-rechten heeft en een actieve brandmuur. Voor aanwijzingen over hoe dit in te stellen, kies je distributie uit deze lijst en volg onze handleiding voor de initiale serverinstellingen. Zorg ervoor dat je met een ondersteunde versie van Ubuntu werkt. In deze handleiding gebruiken we een machine met Ubuntu 24.04 LTS.
-
Bekendheid met de Linux command line. Voor een introductie of herinnering aan de command line, kunt u deze handleiding over Linux command line primer bezoeken.
-
Voer
sudo apt-get update
in in de Ubuntu terminal uit om er voor te zorgen dat uw systeem de最新versies en beveiligingsupdates heeft voor de software beschikbaar in de op uw systeem geconfigureerde repositories.
Deze instructies zijn geldig voor de meest recente versies van Ubuntu, d.w.z. Ubuntu 24.04, Ubuntu 22.04, Ubuntu 20.04 en Ubuntu 18.04. Als u Ubuntu <=16.04 gebruikt, adviseren we u om te upgraden naar een nieuwere versie, omdat Ubuntu geen ondersteuning meer biedt aan deze versies. Deze collectie handleidingen helpt u bij het upgraden van uw Ubuntu-machine.
Stap 1 – Python-omgeving instellen
Op een Ubuntu 24.04-machine is Python 3 al standaard geinstalleerd. Open de terminal en voer het volgende commando uit om de installatie van Python 3 eenmaal te controleren:
Als Python 3 al op uw machine is geïnstalleerd, zal dit commando de huidige versie van de Python 3-installatie teruggeven. In het geval dat het niet is geïnstalleerd, kunt u het volgende commando uitvoeren om de installatie van Python 3 te krijgen:
Volgend moet u de pakketinstallers pip
en dev
op uw systeem installeren. De pakketbeheerder pip
is essentieel voor het installeren van pakketten uit het Python Pakket Index, terwijl het pakket dev
nodig is om Python-modules te bouwen die gecompileerde code bevatten.
Voer het volgende commando in de terminal uit:
Stap 2 – Creëer en Activeer Virtueel Omgeving
<$>[nota]
Als je gebruik maakt van Ubuntu versie < 24.04, hoef je geen virtuele omgeving aan te maken. Ga direct naar de volgende stap<$>.
De volgende stap is het aanmaken van een virtuele omgeving binnen je Ubuntu-installatie om Python-pakketten te isoleren van je systeemomgeving. Ga naar je werkmap en voer de volgende opdracht uit:
Deze opdracht zal een nieuwe virtuele omgeving maken in een map genaamd fastapi-env
. Alle pakketten die je vanaf nu installeert, zullen geïsoleerd zijn van andere projecten.
Vervolgens moet je deze virtuele omgeving activeren om ervoor te zorgen dat de pakketten die je vanaf nu installeert, in deze geïsoleerde omgeving worden geïnstalleerd.
Na het uitvoeren zal je zien dat het terminalvenster voorafgegaan wordt door de naam van je virtuele omgeving, zoals dit:
Stap 3 – Installeer en Activeer Docker
De volgende stap is het installeren van Docker en Docker Compose binnen je virtuele omgeving.
Nadat Docker is geïnstalleerd, start het Docker-dienst en schakel het in om bij het opstarten van het systeem te starten:
Om de laatste stabiele versie van Docker Compose te krijgen, download je die uit zijn officiële GitHub-repository in plaats van het gebruiken van apt
.
Eerst kijk je op Docker’s officiële GitHub-uitgavespagina naar de nieuwste versie, en voer dan de volgende CURL-commando uit in de terminal.
Voer het volgende commando uit om het docker-compose
-binair bestand executabel te maken voor elke gebruiker van de machine.
Controleer de installatie door te runnen:
Stap 4 – Maak een FastAPI-toepassing
Nu is het tijd om een Python-toepassing te beginnen die gebruik maakt van het FastAPI-frameWork. Maak eerst een main.py
bestand aan:
Hieronder staat een voorbeeld van een Python-toepassing die een eenvoudige web API aanmaakt met behulp van het FastAPI-frameWork en een voorge Trainde AI-model om de sentimenten van gegeven tekst te analyseren.
Om deze toepassing succesvol uit te voeren, heb je de vereiste afhankelijkheden nodig, maar je moet ze niet handmatig installeren. De installatie van deze pakketten wordt binnen het Dockerfile afgehandeld, wat in de volgende stap wordt genoemd.
Stap 5 – Maak een Dockerfile en Configuratie YAML
Volgendens moet je een Dockerfile voor deze applicatie maken. Deze Dockerfile bepaalt de omgeving waarin uw FastAPI-toepassing zal draaien. Maak een Dockerfile
aan in de projectmap door de volgende opdracht uit te voeren:
In de tekstverwerker voeg je de volgende inhoud toe:
Docker Compose simplificeert de beheer van applicaties met meerdere containers. Daarna moet je een docker-compose.yml
configuratiefile aanmaken in de projectmap.
Voeg de volgende inhoud toe aan het lege bestand:
In deze configuratie,
version
: Geeft de te gebruiken Docker Compose versie aan.services
: Defineert de services die moeten worden aangemaakt.web
: Geeft de naam van de service aan die uw FastAPI-toepassing draait.build
: Geeft de directory aan waarvan de Docker-image moet worden gemaakt. In dit geval is dat dezelfde directory waar ookdocker-compose.yml
staat.ports
: Koppelt poort 8000 op de hostmachine aan poort 80 binnen het container.volumes
: Maakt de huidige directory een volume binnen het container, zodat u live code kunt herladen.
Stap 6 – Bouw en voer de Docker container uit
Gebruik Docker Compose om deze Docker afbeelding te bouwen en de container te starten:
Dit commando bouwt de Docker afbeelding uit de Dockerfile in de huidige map. Om nu de echte toepassing te laten draaien, voer in de terminal het volgende commando uit:
Stap 7 – Beheer uw FastAPI-toepassing
Zodra de container is gestart, kunt u uw FastAPI-toepassing bereiken door naar http://localhost:8000
te navigeren in uw webbrowser.
Stap 8 [OPTIONEEL] – Beheer uw Docker container
Hier zijn enkele tips om u beter te helpen bij het beheren van de container omgeving waarin uw FastAPI-toepassing draait.
-
Om de uitvoerde container te stoppen, druk op Ctrl + C of Command + ..
-
Om de controle terug te krijgen terwijl de container in de achtergrond draait, gebruik dan:
-
Om uw container te stoppen en te verwijderen, voer dan uit:
Conclusie
In deze handleiding heeft u geleerd hoe u met Docker Compose een FastAPI-toepassing op een Ubuntu-machine kunt maken en instellen. Met de snelheid van FastAPI en de efficiëntie van Docker kunt u robuste, schaalbare toepassingen met veiligheid bouwen.
Source:
https://www.digitalocean.com/community/tutorials/create-fastapi-app-using-docker-compose