Écrire un script Python semble assez facile. Tout ce que vous avez à faire est d’ouvrir votre éditeur de texte préféré, de saisir le code et d’exécuter le script. Eh bien, cela semble assez facile au début, mais vous devez vous rappeler que votre code devra fonctionner sur n’importe quel PC que vous utilisez. Si vous travaillez dans un environnement où il n’y a pas les bonnes bibliothèques pour exécuter le programme, alors vous n’avez pas de chance. Avec Docker, vous pouvez utiliser des conteneurs pour exécuter votre code. Docker est similaire à ce que la virtualisation fait depuis un certain temps. La virtualisation est purement basée sur le fait que nous voulons faire un usage plus efficace du matériel auquel nous avons accès, et c’est le but principal. L’objectif principal de Docker est de nous aider à rationaliser le processus de développement logiciel et son déploiement. Dans cet article, je vais vous montrer comment exécuter mon script python sur docker ?
Qu’est-ce que docker et pourquoi c’est important
Docker est une plate-forme complète conçue pour fournir des solutions incroyablement simples et directes pour les conteneurs d’applications. Le développement d’outils est devenu beaucoup plus compliqué ces dernières années, les développeurs devant utiliser plusieurs langages, frameworks, architectures et interfaces discontinues dans ce qui ressemble à un cycle sans fin. Les équipes de développement travaillant sur de gros projets peuvent facilement se confondre sur les technologies utilisées et à quel moment. Docker vise à résoudre ces problèmes en simplifiant les processus tout en garantissant à chaque développeur une liberté totale dans le choix des outils qu’il souhaite utiliser tout au long de la création d’applications. Avec ce nouvel outil, n’importe quelle application peut être déployée sur n’importe quel système d’exploitation !
Comment installer Docker :
L’installation de Docker est assez simple, il vous suffit d’aller sur ce lien, de télécharger Docker pour votre système d’exploitation respectif et de l’installer.
Dans Windows, vous devez installer un logiciel supplémentaire pour exécuter le logiciel de bureau docker appelé wsl_update_x64, vous pouvez le télécharger à partir d’ici.
Remarque : J’utilise Visual Studio Code, éditeur de code pour tous les processus. Dans VS Code, vous pouvez installer l’extinction officielle du docker fournie par Microsoft. Il vous offre de belles fonctionnalités de débogage de ligne et d’auto-complétion. Cela me facilitera l’exécution de mon script python sur docker?
Remarque : J’utilise Visual Studio Code, mon éditeur de code de prédilection lorsque je travaille avec Docker. Il offre au développeur des fonctionnalités intéressantes telles que le débogage et la saisie semi-automatique. Dans VS Code, vous pouvez installer l’extension docker officielle fournie par Microsoft directement à partir de l’extension Visual Studio, ce qui rend tout beaucoup plus simple.
Comment conteneuriser les applications Python :
Étape 1 : Créez un dossier dans le répertoire local. J’ai créé un dossier nommé « python-docker ».
Étape 2 : Créez un script python (main.py) à exécuter et enregistrez-le dans le même dossier.
Pour démontrer, j’ai continué et ajouté du code Python personnalisé au fichier main.py. Le script affichera un cercle orange de base au milieu de l’écran en utilisant la bibliothèque pygame. Vous pouvez exécuter n’importe quel script/code que vous voulez :
# Simple pygame program
# Import and initialize the pygame library
import pygame
pygame.init()
# Set up the drawing window
screen = pygame.display.set_mode([500, 500])
# Running the game until the user asks to quit
running = True
while running:
# creating an if statement for the close button
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Filling the background color with a gray
screen.fill((55, 55, 55))
# Drawing a solid purple circle in the center
pygame.draw.circle(screen, (0, 0, 251), (251, 251), 74)
# Flip the display
pygame.display.flip()
# Done! Time to quit.
pygame.quit()
Étape 3 : Créez un nom de fichier « dockerfile » dans le même répertoire que notre script python.
Un Dockerfile est un script qui contient du code exécuté en séquence pour produire une nouvelle image Docker, qui est essentiellement une collection exécutable de fichiers assemblés à l’intérieur d’un autre ensemble de fichiers exécutables. Dans le fichier docker, nous devons différencier trois choses différentes.
- Fichier Docker : un fichier Docker est un plan pour créer des images Docker.
- Image Docker : une image Docker est un modèle simple pour exécuter des conteneurs Docker.
- Conteneur Docker : un conteneur Docker est le processus d’exécution réel où nous avons notre projet de package.
Pour créer un Dockerfile afin de créer des images Docker, vous devrez utiliser le besoin de connaître certaines des commandes de base
FROM : L’instruction FROM est cruciale car elle établit les bases de l’image de base que vous créez. Et doit être placé en haut du Dockerfile.
RUN : cette commande est une étape du processus de génération d’une image Docker. C’est un moyen d’installer des packages supplémentaires nécessaires au bon fonctionnement de vos images Docker.
CMD : L’instruction CMD est utilisée pour définir la commande par défaut qui doit être exécutée lors de l’exécution du conteneur. Peu importe le nombre de fois que cette commande est ajoutée car seule la dernière sera exécutée.
ADD : ADD vous permet de copier un fichier depuis l’URL vers vos images Docker, du ‘src’ au chemin absolu ‘dest’. Vous pouvez également configurer la propriété par défaut des nouveaux fichiers.
Écriture de code dans dockerfile :
#Specifying the base image
FROM python:3.10
#here the dockerfile is pulling the python 3.10 from docker hub which already has python installed so we have all the things we need to have python in our container.
ADD main.py.
#Here we added the python file that we want to run in docker and define its location.
RUN pip install requests pygame
#Here we installed the dependencies, we are using the pygame library in our main.py file so we have to use the pip command for installing the library
CMD [ "python3" "./main.py" ]
#lastly we specified the entry command this line is simply running python ./main.py in our container terminal
Étape 4 : Créez une image Docker.
La commande suivante créera l’image docker. Vous pouvez utiliser n’importe quel nom pour l’image docker que j’utilise python-game :
docker image build -t python-game
Pour vérifier que les images ont été créées, exécutez la commande suivante :
docker images
Vous pouvez également configurer et accéder à vos images et fichiers via le logiciel de bureau Docker et les télécharger sur votre Docker Hub en créant et en vous connectant à votre compte.
Pour exécuter l’image Docker, utilisez la commande suivante :
docker run python-game
Derniers mots
Si vous cherchez à créer une application pour vous-même ou vos clients, vous devrez tester le produit sous contrainte et le déployer dans un environnement réel avant sa date de lancement officielle. Il existe de nombreuses façons de procéder, mais l’un des moyens les plus efficaces consiste à déployer votre application dans le cloud avec Docker. En résumé, Docker est devenu un outil de développement incontournable pour les développeurs Python et va bien au-delà de la fourniture de services aux clients. Avec son architecture prête pour la production, il fournit une infrastructure impressionnante basée sur l’expérience. Voici donc comment exécuter mon script Python sur Docker.
Nous espérons que vous avez apprécié notre article sur la façon d’exécuter des applications Python dans des conteneurs Docker. Avec cette connaissance, nous savons que vous pouvez profiter des avantages de l’utilisation de Docker pour vos applications Python.
Voici quelques tutoriels utiles que vous pouvez lire :
- How to receive Github webhooks in Python?
- How to convert an image to 8-bit image
- Create various charts using Python
- Generating QR Codes and Barcodes in Python
- Create API in Django Rest Framework Viewset
- Create Sudoku game in Python using Pygame
- Get Weather Information using Python
- Detect the number of faces using Python and OpenCV