Comment dockeriser une application Django

Comment dockeriser une application Django

Docker est l’une des plates-formes de conteneurs les plus populaires, vous permettant de gérer des applications conteneurisées. Docker fournit une architecture et des fonctionnalités pour l’automatisation des conteneurs, la sécurité, la personnalisation et le support d’entreprise.

Docker comporte trois composants importants : le client Docker (un outil de ligne de commande), Docker Host et Docker Registry. Ces trois composants fonctionnent ensemble pour vous permettre de créer, d’exécuter et de stocker des applications.

Découvrez comment utiliser cet outil incroyable en conteneurisant un exemple d’application Django. Tout d’abord, apprenez à installer Docker sur Ubuntu, macOS et Windows.

Installer Docker sur Ubuntu

Commencez par installer Docker sur votre système d’exploitation préféré. Vous pouvez suivre ces notes pour installer Docker sur Ubuntu ou utiliser les instructions suivantes pour macOS ou Windows.

Installer Docker sur macOS

Pour installer Docker sur macOS, assurez-vous d’avoir macOS 11 ou supérieur. Suivez ensuite ces étapes :

  1. Téléchargez Docker à partir du site Web du hub Docker .
  2. Double-cliquez sur Docker.dmg pour ouvrir le programme d’installation.
  3. Faites glisser l’ icône Docker vers le dossier Applications.
  4. Pour démarrer Docker, double-cliquez sur Docker.app .
  5. Le logo baleine Docker sur la barre d’état indique que Docker est en cours d’exécution.

Vous pouvez également installer Docker sur macOS via la ligne de commande en suivant les instructions d’ installation de Docker Mac .

Installer Docker sur Windows

Suivez les étapes suivantes pour installer le bureau Docker sur le système d’exploitation Windows :

  1. Téléchargez Docker à partir du site Web du hub Docker .
  2. Double-cliquez sur Docker Desktop Installer.exe pour exécuter le programme d’installation.
  3. Activez la fonctionnalité Windows Hyper-V sur la page de configuration lors de l’installation.
  4. Suivez le processus et autorisez toutes les autorisations jusqu’à la fin de l’installation.
  5. Après l’installation, cliquez sur Fermer pour terminer le processus.
  6. Pour démarrer Docker, recherchez et sélectionnez Docker Desktop dans les résultats de recherche de votre bureau.

Vous pouvez également installer Docker sur le système d’exploitation Windows à l’aide d’une ligne de commande en suivant les instructions d’ installation de Docker Windows .

Créer une application Django

Créez une application Django simple. Vous pouvez voir l’application lorsque vous accédez à http://127.0.0.1:8000. Vous allez conteneuriser cette application.

Application sur navigateur avec Hello docker H1

Créer un fichier Docker

Pour conteneuriser l’application, vous devez créer une image Docker pour créer et exécuter des conteneurs. Une image Docker est un modèle d’instructions sur la façon d’exécuter des conteneurs.

Vous utiliserez un Dockerfile pour créer une image pour l’application. Créez un fichier dans le dossier racine appelé Dockerfile. Ensuite, ajoutez les instructions suivantes au fichier :

FROM python:3

WORKDIR /app

ADD. /app/

EXPOSE 8000

COPY requirements.txt /app

RUN pip3 install -r requirements.txt --no-cache-dir

COPY. /app

ENTRYPOINT ["python3"]

CMD ["manage.py", "runserver", "0.0.0.0:8000"]

Les Dockerfiles utilisent des mots-clés Docker uniques pour spécifier des instructions.

Le mot-clé FROM identifie l’image de base avec laquelle vous souhaitez créer l’image. L’image Python de Docker contient les composants nécessaires pour exécuter l’application Django. Docker utilisera la même image dans les versions suivantes.

Le mot-clé WORKDIR crée un répertoire à l’intérieur du conteneur. L’exemple de commande identifie le répertoire /app comme dossier racine.

La commande ADD ajoute tout ce qui se trouve dans le dossier actuel dans le dossier /app .

Le mot-clé EXPOSE expose un port à l’intérieur de l’image Docker au monde extérieur. Vous pouvez afficher l’application conteneurisée sur ce port à l’aide d’un navigateur.

Le mot-clé COPY copie le contenu d’un dossier et le place dans un autre. Dans votre cas, il copiera tout le contenu de l’application à partir du répertoire actuel. Le contenu ira dans le dossier App du conteneur.

Le mot-clé RUN exécute toutes les commandes dans une nouvelle couche de l’image actuelle et valide les résultats. La prochaine étape du Dockerfile utilisera l’image validée résultante.

Le mot-clé ENTRYPOINT définit un conteneur comme un exécutable. Dans ce cas, c’est Python3. Vous pouvez l’utiliser avec ou à la place du mot-clé CMD . Un Dockerfile doit spécifier l’un ou les deux mots-clés CMD ou ENTRYPOINT . Docker définit comment les deux instructions coopèrent.

Le mot-clé CMD exécute une commande Linux au démarrage de l’image. L’instruction définit quelle commande s’exécute lorsque vous exécutez un conteneur.

Créer l’image Docker

Maintenant que le Dockerfile est terminé, continuez et créez l’image Docker. Exécutez la commande suivante pour créer l’image :

docker build --tag docker-django-app:latest.

Lorsqu’il commencera à se construire, Docker construira l’image en couches. Les couches seront en fonction du nombre d’instructions données dans le Dockerfile . Dans ce cas, vous aurez neuf couches. Neuf étapes représenteront ces couches.

Une construction réussie apparaîtra comme suit :

docker construit avec succès l'image

Maintenant, si vous vérifiez vos images Docker, vous devriez voir la nouvelle image.

image nouvellement construite sur docker

Exécutez le conteneur Docker

Ensuite, vous devez exécuter l’image dans le conteneur. C’est là que l’application vivra. Exécutez la commande suivante pour exécuter l’image :

docker run --name docker-djangoapp -p 8000:80 -d docker-django-app:latest

Il devrait renvoyer un numéro de série pour le conteneur comme ceci :

nouvelle application conteneurisée

La commande Docker run autorise les balises d’ options pour les images. Dans ce cas, vous souhaitez utiliser la balise –name pour nommer le conteneur docker-djangoapp . Exécutez ensuite le conteneur sur le port 8000:80 avec -p . Ensuite, spécifiez l’image que vous souhaitez créer le conteneur. Il s’agit de l’ image docker-django-app:latest que vous avez créée précédemment.

La commande docker run crée une couche de conteneur sur l’image. Il le démarre ensuite à l’aide de la commande spécifiée. La syntaxe d’exécution des conteneurs est la suivante :

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Vérifiez les conteneurs Docker pour voir si le conteneur est en cours d’exécution. Lorsque vous exécutez docker ps , il devrait apparaître comme suit :

Nouveau conteneur s'exécutant dans docker

Toutes nos félicitations! Vous avez conteneurisé votre première application. Ensuite, vous pouvez pousser le conteneur vers le registre Docker pour le stockage. Vous pouvez accéder à votre application quand vous le souhaitez depuis n’importe quelle machine.

Vous pouvez également le partager avec d’autres en ligne. Le registre offre une sécurité pour les images et permet des privilèges supplémentaires sur les comptes privés.

Pourquoi dockeriser une application ?

De plus en plus de développeurs utilisent Docker pour optimiser la création et la gestion de conteneurs dans n’importe quel environnement virtuel.

Docker est livré avec des fonctionnalités productives, notamment un client qui envoie des commandes de construction aux démons Docker. Le démon construit des images et exécute des conteneurs. Vous pouvez créer et stocker les images dans le registre Docker. Cela garantit que les images sont sécurisées et disponibles en ligne.

Docker propose des images officielles déjà configurées qui ont des composants prêts à l’emploi. Vous pouvez utiliser ces images pour créer rapidement des conteneurs pour vos applications.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *