Qu'est-ce que Docker: Comment dockeriser un script Python.

Docker est un outil essentiel pour les développeurs car il leur permet de créer, déployer et gérer rapidement et facilement des applications dans un environnement conteneurisé. Il offre un moyen simple de regrouper les applications avec toutes leurs dépendances en une seule unité qui peut être déployée n'importe où.

 

Les images Docker sont les blocs de construction de base de Docker. Elles se composent d'un ensemble de couches qui contiennent le code d'application, les bibliothèques, les fichiers de configuration et les autres ressources nécessaires à l'exécution de l'application. DockerHub est le référentiel officiel pour les images Docker, ce qui facilite la recherche et l'utilisation par les développeurs d'images pré-construites provenant de sources fiables.

 

L'importance de Docker réside dans sa capacité à simplifier les processus de développement en fournissant aux développeurs un moyen facile de regrouper leurs applications dans des conteneurs qui peuvent être déployés n'importe où. Cela facilite la collaboration entre les développeurs sur des projets plus rapidement car ils n'ont pas à se soucier de la mise en place d'environnements complexes ou de la gestion des problèmes de compatibilité entre différents systèmes.

 

Dans ce blog, nous créerons un script Python qui vérifie les e-mails à l'aide de l'API Minelead, le conteneuriserons dans une image Docker et l'exécuterons 24/7 en arrière-plan.

 

Exigences :

  • Docker et Python installés
  • Package Requests installé
  • Clé API Minelead

 

Contenu :

  • Comment configurer un environnement virtuel en Python

  • Comment vérifier les e-mails avec Python

  • Comment construire une image Docker

  • Comment exécuter une image Docker

  • Comment publier une image Docker sur DockerHub

 

 

Comment configurer un environnement virtuel en Python

 

Pour créer un environnement virtuel Python, nous devons ouvrir notre terminal préféré dans le dossier dans lequel nous voulons qu'il contienne le projet et exécuter la commande :

 

python -m venv <nom_de_l'environnement_virtuel>

 

Nous nommerons notre environnement virtuel "venv".

 

Cela prendra quelques secondes pour se terminer, après quoi nous pouvons l'activer avec la commande :

 

source venv/bin/activate, ou pour les utilisateurs de Windows, source venv/Scripts/activate

 

Maintenant que l'environnement est prêt, nous pouvons installer les packages requis pour que nos scripts fonctionnent. Pour cet exemple, nous n'aurons besoin que du package requests, donc nous l'installerons en utilisant la commande :

 

pip install requests

 

Nous devons garder une trace de tous les packages installés afin de pouvoir les installer sur l'image Docker plus tard. Pour ce faire, nous devons écrire tous les packages avec leur version utilisée dans un fichier que nous nommerons requirements.txt. La commande pour cela est :

 

pip freeze > requirements.txt

 

Comment vérifier les e-mails avec Python

 

Pour pouvoir vérifier les adresses e-mail, nous utiliserons le produit Minelead Verifier. Pour cela, nous devons nous inscrire et obtenir la clé API. Une fois cela fait, nous pouvons commencer à préparer le script :

 

import requests

 

api_key = '<api_key>'

 

emails_verify = ['john@minelead.io','jane@minelead.io']

 

def main(email):

    api_url = f'https://api.minelead.io/v1/validate/?email={email}&key={api_key}'

    response = requests.get(api_url).json()

    exists = response.get('exist')

    print(exists)

 

for email in emails_verify:

    main(email)

 

 

Ce script simple vérifiera si les e-mails fournis existent ou non et nous affichera les résultats. Après avoir confirmé que cela fonctionne, nous pouvons commencer à construire l'image Docker qui contient notre projet.

 

 

Comment construire une image Docker

 

Après avoir installé Docker, nous devrions être en mesure d'utiliser les commandes Docker sur notre interface en ligne de commande. La commande pour construire une image Docker est "docker build [options]".

 

Les paramètres que nous devons donner sont le chemin du Dockerfile et le tag de l'image. Pour cela, nous devons créer le fichier Dockerfile qui spécifie les étapes à suivre pour que Docker construise l'image.

 

Le fichier Dockerfile doit être nommé "Dockerfile" et être dans le même répertoire que les fichiers "requirements.txt" et "app.py", et son contenu est le suivant:

 

FROM python:3.8-slim-buster

 

ADD requirements.txt /

 

RUN pip install -r requirements.txt

 

ADD app.py /

 

CMD [ "python", "./app.py" ]

 

Et maintenant, nous sommes prêts à construire l'image. Nous allons exécuter la commande suivante : docker build . -t test/verify:latest

 

Le point après "build" signifie que le Dockerfile se trouve dans le même dossier que celui où nous nous trouvons dans l'interface en ligne de commande.

 

Le "-t" signifie que le paramètre suivant est le tag de notre image. Le nom avant le slash est notre nom d'utilisateur Dockerhub (facultatif), après le slash se trouve le nom de l'image, et le nom après les deux points est le tag de cette image.

 

Comment exécuter une image Docker

 

Nous avons maintenant notre image prête à être exécutée. La commande pour le faire est : docker run [options]

 

Les options que nous devons spécifier maintenant sont le nom de l'image que nous voulons exécuter et le nom du conteneur. La commande sera donc :

 

docker run --name verifier test/verify:latest

 

À des fins de test, le script que nous avons écrit ne dure que quelques secondes, mais si nous avons un script qui prendrait plus de temps ou doit être en cours d'exécution tout le temps, nous devons exécuter le conteneur en arrière-plan pour qu'il ne soit pas interrompu. Nous devons ajouter -d dans la commande pour indiquer au moteur Docker de l'exécuter en arrière-plan. La commande devient donc :

 

docker run --name verifier -d test/verify:latest

 

Pour vérifier si le conteneur est en cours d'exécution ou non, nous pouvons lister tous les conteneurs en exécutant la commande : docker container ls.

 

Comment publier une image Docker sur DockerHub

 

Si nous avons un compte DockerHub, nous pouvons nous connecter en utilisant la commande: docker login

 

Entrez le nom d'utilisateur et le mot de passe, puis exécutez la commande: docker push test/verify:latest

 

Une fois que cela est fait, nous pouvons consulter notre compte DockerHub et vérifier si l'image s'y trouve.

 

Si elle y est, nous pouvons enfin la télécharger depuis n'importe quelle autre machine disposant de Docker installé et nous attendre à ce qu'elle fonctionne de la même manière que sur notre machine.

 

Conclusion

 

Les instances d'applications conteneurisées utilisent beaucoup moins de mémoire que les machines virtuelles, elles démarrent et s'arrêtent plus rapidement et peuvent être packagées beaucoup plus densément sur leur matériel hôte. Tout cela se traduit par moins de dépenses en matière d'informatique.

 

Dans ce blog, nous avons expliqué ce qu'est Docker et pourquoi il est très important, nous avons écrit un petit script Python pour nous préparer à des projets plus sérieux. Nous sommes maintenant capables de vérifier un grand nombre d'adresses e-mail et de maintenir le conteneur en cours d'exécution 24h / 24 en l'exécutant en arrière-plan.

 

Recherche ...
×
Définir un Mot de passe
Vous avez créé votre compte à l'aide de Google SSO. Vous devez définir un mot de passe.

Vérification du numéro de téléphone