Utiliser Docker avec FastAPI : Déploiement facile d’une API

Posted by


Introduction:

Dans ce tutoriel, nous allons explorer comment déployer un API en utilisant Docker et FastAPI. Docker est un outil de virtualisation qui permet d’emballer une application et ses dépendances dans un conteneur isolé, ce qui facilite son déploiement et sa gestion. FastAPI est un framework web moderne et performant pour la création d’API REST en Python.

Étapes du tutoriel:

  1. Installation de Docker:
    Tout d’abord, assurez-vous d’avoir Docker installé sur votre machine. Vous pouvez télécharger Docker depuis leur site officiel (https://www.docker.com/get-started). Suivez les instructions d’installation pour votre système d’exploitation.

  2. Création de l’API FastAPI:
    Créez un répertoire pour votre projet et créez un fichier Python nommé app.py. Dans ce fichier, vous pouvez définir votre API en utilisant FastAPI. Voici un exemple simple d’un API qui renvoie un message de salutation :
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Bonjour, bienvenue sur notre API!"}
  1. Création d’un fichier Dockerfile:
    Créez un fichier nommé Dockerfile à côté de votre fichier app.py. Ce fichier contiendra les instructions pour construire l’image Docker de votre application. Voici un exemple de contenu pour le Dockerfile :
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.9

COPY ./app.py /app/app.py
  1. Construction de l’image Docker:
    Ouvrez un terminal et naviguez jusqu’au répertoire de votre projet. Utilisez la commande suivante pour construire l’image Docker de votre application :
docker build -t mon-api .

Cette commande construira l’image Docker en utilisant le Dockerfile que nous avons créé précédemment.

  1. Exécution du conteneur Docker:
    Une fois que l’image Docker est construite avec succès, vous pouvez exécuter un conteneur basé sur cette image en utilisant la commande suivante :
docker run -d -p 8000:80 mon-api

Cette commande démarrera un conteneur Docker sur le port 8000 de votre machine, exposant ainsi votre API.

  1. Accès à l’API:
    Vous pouvez accéder à votre API en ouvrant un navigateur web et en tapant l’URL http://localhost:8000. Vous devriez voir le message de salutation que nous avons défini précédemment.

Conclusion:

Dans ce tutoriel, nous avons exploré comment déployer un API en utilisant Docker et FastAPI. En suivant ces étapes simples, vous pourrez déployer rapidement et facilement vos applications web. Docker facilite le déploiement en empaquetant toutes les dépendances de votre application dans un conteneur isolé, ce qui garantit une portabilité et une gestion simplifiée. FastAPI offre un cadre performant pour la création d’API REST en Python, permettant ainsi de développer des applications web robustes et évolutives. N’hésitez pas à explorer davantage ces outils pour améliorer vos compétences en développement web. Bon codage!

0 0 votes
Article Rating

Leave a Reply

11 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@lamiarouag846
2 hours ago

est ce que du meme pour un données de type ''time serie'' c.a.d meme demarche en plus je travail par react comme front et fastapi comme backe

@GrafBazooka
2 hours ago

par contre quand tu test ton streamlit à la fin, tu requête une url d'api, donc une api déployée sur internet ? Donc ce n'est pas l'api dockerisée qui run en local

@user-yd5ze2cg8v
2 hours ago

@KevinDegila pour ceux qui voudrais faire le cours Deep Learning, sur Ubuntu, pourrais=tu faire une video sur le setup de l'environnement qui inclurait CuDNN, CUDA, Tensorflow, Miniconda, python 3.8 à 3.9. J'imagine que beaucoup utilisent MacBook

@phptempaltedf
2 hours ago

merci

@ghostrex5979
2 hours ago

Merci ,

@sylvain351
2 hours ago

merci c'est top

@BIBLISTEPHANEZANLE
2 hours ago

Merci pour cette belle vidéo instructive

@geoffroyotegbeye1997
2 hours ago

Intéressant. Fait également une ou des vidéos sur comment entrainer un model déjà pré entrainer quantifier ou pas comme Llama 2 sur un jeu de donnés pour en faire une IA conversationnel étroite comme Bible GPT de open ai avec flask ou Django stp

@oliviertina4169
2 hours ago

C'est une réelle valeur ajoutée, on va au dela du notebook. Merci beaucoup Kevin

@nickylarson6489
2 hours ago

Merci prof

@ignition-ai
2 hours ago

Merci Kevin , super utile comme projet, utilisation de docker pour déployer un projet !

11
0
Would love your thoughts, please comment.x
()
x