Construction et déploiement d'une image et d'un conteneur Docker
Ce guide vous explique comment conteneuriser une application en utilisant Docker. Vous allez écrire un Dockerfile, construire l'image, l'exécuter en tant que conteneur et éventuellement la pousser vers Docker Hub.
Étape 1 : Créer un Dockerfile
À la racine de votre projet, créez un fichier nommé (sans extension).Dockerfile
Exemple (application Python Flask) :
# Image de base FROM python:3.10-slim # Définir le répertoire de travail WORKDIR /app # Copier tous les fichiers du projet COPY . . # Installer les dépendances RUN pip install --no-cache-dir -r requirements.txt # Exposer le port de l'application EXPOSE 5000 # Commande pour exécuter l'application CMD ["python", "app.py"] Pour d'autres langages comme Node.js ou Java, ajustez l'image de base et les commandes.
Étape 2 : Construire l'image Docker
Ouvrez votre terminal, naviguez vers le répertoire de votre projet et exécutez :
docker build -t mon-image-app . -
-t mon-image-app: Étiquette l'image pour une référence facile. -
.: Fait référence au répertoire courant contenant le Dockerfile.
Étape 3 : Exécuter le conteneur Docker
docker run -d -p 5000:5000 --name mon-conteneur-app mon-image-app -
-d: Exécute en mode détaché (en arrière-plan). -
-p 5000:5000: Mappe le port de l'hôte vers le port du conteneur. -
--name: Donne un nom personnalisé au conteneur.
Étape 4 : Vérifier le conteneur
Pour vérifier qu'il est en cours d'exécution :
docker ps Accédez à votre application en visitant :
http://localhost:5000 (Optionnel) Étape 5 : Arrêter et supprimer
Arrêtez le conteneur :
docker stop mon-conteneur-app Supprimez le conteneur :
docker rm mon-conteneur-app Supprimez l'image :
docker rmi mon-image-app (Optionnel) Étape 6 : Pousser vers Docker Hub
-
Connectez-vous à Docker :
docker login -
Étiquetez l'image :
docker tag mon-image-app votre-nom-utilisateur/mon-image-app -
Poussez l'image :
docker push votre-nom-utilisateur/mon-image-app
Vous pouvez maintenant tirer cette image n'importe où avec :
docker pull votre-nom-utilisateur/mon-image-app Conclusion
En utilisant Docker, vous avez empaqueté votre application dans un conteneur léger et portable qui s'exécute de manière cohérente dans tous les environnements. Que vous déployiez localement, en staging ou en production, Docker garantit que votre application se comporte de la même manière partout. Cette approche simplifie le développement, les tests et le déploiement, rendant vos workflows plus rapides et plus fiables.
Rechercher