Flacon Python dans Docker

Flacon Python Dans Docker



Dans ce tutoriel, nous allons apprendre à conteneuriser une application Python Flask à l'aide de Docker.

La conteneurisation est une fonctionnalité épique qui nous permet, à nous, développeurs, de regrouper une application avec les dépendances requises dans une seule unité. Nous pouvons ensuite déplacer le conteneur et déployer l'application dans des environnements sans avoir à nous soucier de la compatibilité.

Qu'est-ce qu'un flacon ?

Flask est un framework micro-web minimaliste et léger pour Python. Il fournit les fonctionnalités et les bibliothèques essentielles nécessaires pour créer l'application Web légère à l'aide du langage Python.







Flask suit la norme Web Server Gateway Interface ou WSGI, ce qui nous permet d'incorporer une conception minimaliste avec un modèle flexible capable de gérer la requête HTTP et d'autres fonctionnalités. Par exemple, Flask prend en charge les fonctionnalités Web telles que le routage, les bases de données, etc.



Conditions préalables:

Pour suivre le code et les commandes fournis dans ce didacticiel, assurez-vous que vous disposez des outils suivants :



  1. Interpréteur Python installé sur votre machine (la version 3.11 et supérieure est recommandée)
  2. Moteur Docker installé sur la machine hôte (la version 23 et supérieure est recommandée)
  3. Un éditeur de texte ou IDE de votre choix

Une fois les conditions requises remplies, nous pouvons poursuivre ce didacticiel.





Créer l'application Flask

Comme vous pouvez le deviner, la première étape consiste à créer l'application Python que nous souhaitons conteneuriser. Dans notre cas, nous le démontrons avec une application minimaliste qui imprime « hello world ».

Créez un nouveau répertoire pour stocker le code source de votre projet et créez un fichier Python nommé « app.py ».



Modifiez le « app.py » avec votre éditeur de texte ou IDE préféré et ajoutez le code de votre application comme suit :

depuis ballon importer Ballon

application = Ballon ( __nom__ )
@ application. itinéraire ( '/' )
déf Bonjour le monde ( ) :
retour '

Bonjour tout le monde !

'

Créer un fichier Docker

Ensuite, nous devons définir les instructions qui nous permettent de conditionner l'application sous forme d'image Docker. Nous utilisons le Dockerfile qui contient toutes les instructions et outils pour configurer l'image.

Dans le même répertoire que « hello.py », créez un nouveau fichier appelé « Dockerfile » sans extension. Exécutez la commande suivante :

$ toucher Dockerfile

Modifiez le fichier et ajoutez le code comme suit :

Utilisez l'image Python officielle comme image de base.

DEPUIS python : 3.12 -rc-slim
RÉPERT TRAVAIL /app
COPIE . /application
# Installer le flacon
EXÉCUTER pip install --no-cache- toi -r exigences. SMS
# Exposez le port 5000 pour l'application Flask
EXPOSER 5000
# lancer l'application Flask
CMD [ 'python' , 'app.py' ]

Le Dockerfile précédent effectue les opérations suivantes :

  • Utilise l'image slim officielle Python 3.12 comme image de base
  • Définit le répertoire de travail à l'intérieur du conteneur sur «/app»
  • Copie le contenu du répertoire du projet dans le conteneur
  • Installe Flask et toutes les autres dépendances en exécutant 'pip install' à l'aide du fichier 'requirements.txt'
  • Expose le port 5000 pour l'application Flask
  • Définit la commande pour exécuter l'application Flask

Assurez-vous que le fichier 'requirements.txt' existe dans le répertoire du projet et ajoutez le contenu du fichier comme indiqué ci-dessous :

Ballon == 2.3.3

Dans ce cas, nous précisons que nous souhaitons installer la version Flask 2.3.3.

Construire l'image Docker

Maintenant que l'application Flask et Dockerfile sont prêts, nous pouvons continuer et créer l'image avec la commande suivante :

docker build -t flask-docker-app .

Assurez-vous que vous êtes dans le répertoire du projet avant d'exécuter la commande précédente. Vous pouvez remplacer le flask-docker-app par le nom que vous souhaitez attribuer à votre image.

Exécutez le conteneur Docker

Une fois l'image Docker construite, nous pouvons exécuter le conteneur basé sur l'image à l'aide de la commande « docker run » comme suit :

Docker exécuter -p 5000 : 5000 application flask-docker

Cela devrait créer un conteneur et mapper le port 5000 du conteneur au port 5000 sur le système hôte.

Une fois exécuté, ouvrez le navigateur et accédez à http://localhost:5000 .

Vous devriez voir le message « Hello, World ! » message de l’application Flask.

Conclusion

Dans ce didacticiel, vous avez appris à conteneuriser une simple application Python Flask à l'aide de Docker.