Guide complet pour créer et gérer des conteneurs Docker

Dernière mise à jour: 08/05/2025
Auteur: Isaac
  • Docker vous permet de regrouper des applications avec leurs dépendances, garantissant ainsi la portabilité et la cohérence.
  • Les conteneurs sont créés à partir d'images Docker préexistantes ou personnalisés à l'aide d'un Dockerfile.
  • L’exécution du conteneur peut être personnalisée à l’aide de paramètres tels que les volumes, les variables d’environnement et le mappage de ports.
  • Docker Compose et d’autres outils d’orchestration aident à gérer les conteneurs dans des environnements complexes.
docker
Créé avec GIMP

Docker est devenu l’un des outils essentiels dans le développement et le déploiement d’applications modernes.. Sa capacité à créer des environnements isolés et cohérents permet aux développeurs de travailler sans se soucier des problèmes de configuration typiques entre différents systèmes.

Dans ce guide, vous apprendrez, étape par étape et de manière très détaillée, comment créer un conteneur Docker à partir de zéro.. Nous couvrirons tout, de l'installation de base à l'implémentation avancée de Docker Compose, y compris la création d'images personnalisées, l'utilisation de volumes, la gestion des conteneurs en cours d'exécution et les meilleures pratiques pour optimiser votre environnement de travail.

Qu'est-ce qu'un conteneur Docker et pourquoi l'utiliser ?

Un conteneur Docker est une unité légère et portable qui contient une application ainsi que toutes ses dépendances.. Contrairement à une machine virtuelle, qui comprend un système d’exploitation complet, les conteneurs partagent le noyau du système d’exploitation hôte, ce qui les rend beaucoup plus rapides et plus efficaces.

Grâce à Docker, vous pouvez développer, tester et déployer votre application dans différents environnements sans vous soucier des différences entre eux.. Cette fonctionnalité en fait une solution idéale pour les environnements de production et les tests et développements locaux.

Prérequis pour utiliser Docker

  • Système d'exploitation pris en charge: Ubuntu, Debian, Fedora, CentOS, macOS ou Fenêtres.
  • Accès aux privilèges de superutilisateur (racine ou sudo) pour installer et exécuter Docker.
  • Connexion Internet pour télécharger les images officielles depuis Docker Hub.

Installation de Docker

L'installation de Docker est généralement simple. Sur Ubuntu, vous pouvez l'installer avec ces commandes:

sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io

Pour que Docker démarre automatiquement lorsque vous allumez votre système, vous pouvez l'exécuter comme ceci:

sudo systemctl enable docker sudo systemctl enable containerd

Vérification de l'installation

docker

Une fois installé, vous pouvez vérifier que Docker est opérationnel en exécutant cette commande :

docker courir hello-monde

Cette commande téléchargera une image de test et affichera un message confirmant que tout fonctionne correctement.

  Solution à l'erreur « Réseau non identifié » dans Windows 11 et Windows 10

Créer un conteneur : les bases

Pour créer un conteneur, vous avez besoin d'une image Docker, qui est un package contenant tous les composants dont votre application a besoin. Les images peuvent être téléchargées depuis Docker Hub ou créées manuellement.

Par exemple, pour configurer un serveur Nginx de base, vous pouvez utiliser :

docker run --name myweb -p 8080:80 -d nginx

Avec cette instruction :

  • –nom monsiteweb: donne un nom au conteneur.
  • -p 8080: 80: Redirige le port hôte 8080 vers le port conteneur 80.
  • -d: exécute le conteneur en arrière-plan.

Créer des images personnalisées avec Dockerfile

Un Dockerfile vous permet de créer des images personnalisées étape par étape. Chaque instruction du fichier ajoute une nouvelle couche à l'image finale. Voici un exemple simple :

DEPUIS ubuntu:dernier WORKDIR /app COPIE . . EXÉCUTER apt-get update && apt-get install -y curl
CMD 

Ce fichier effectue les opérations suivantes :

  • De:Utilisez la dernière version d'Ubuntu comme base.
  • RÉP TRAVAIL: définit le répertoire de travail.
  • COPY: copie les fichiers de l'hôte vers le conteneur.
  • COURT : installe le package curl.
  • CMD: définit la commande par défaut lors de l'exécution du conteneur.

Pour construire l'image avec ce Dockerfile, vous pouvez vous référer au guide à l'adresse Créez des images personnalisées avec Dockerfile.

Exécuter un conteneur à partir de votre propre image

Une fois l'image construite, vous pouvez lancer votre application avec :

docker run --name exemple -p 8080:80 monprojet

Voici comment créer un conteneur à partir de l’image que vous venez de créer..

Gestion des conteneurs Docker

Docker fournit plusieurs commandes pour gérer vos conteneurs. Parmi les plus utiles, on peut citer :

  • docker ps: répertorie les conteneurs en cours d'exécution.
  • docker ps -a: affiche tous les conteneurs, y compris ceux arrêtés.
  • docker stop nombre_contenedor: arrête un conteneur.
  • docker rm nombre_contenedor: supprime un conteneur.

Persistance des données : volumes dans Docker

Par défaut, les données stockées dans un conteneur sont perdues lorsqu'elles sont supprimées. Pour maintenir des données persistantes, il est essentiel de monter des volumes. L’utilisation de volumes garantit que les données survivent à la suppression du conteneur et peuvent être partagées entre les conteneurs.

  Maîtrisez la synthèse vocale et la dictée dans Word avec ce tutoriel étape par étape

Exemple avec volume de type de liaison :

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=clé -v $PWD/data:/var/lib/mysql mysql:8.0

Vous pouvez également utiliser des volumes gérés par Docker:

docker volume create mysql_data docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=clé -v mysql_data:/var/lib/mysql mysql:8.0

Variables d'environnement

Docker vous permet de configurer des variables d'environnement qui aident à paramétrer le comportement des conteneurs.. Par exemple:

docker run -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=store mysql:8.0

Attribution de recours

Vous pouvez limiter l'utilisation du processeur et de la mémoire d'un conteneur. Ceci est utile pour éviter qu'un seul ne consomme toutes les ressources du système :

docker run --cpus=0.5 --memory=512m monimage

Orchestration de base avec Docker Compose

Docker Compose simplifie la gestion multi-conteneurs. Définissez tous les services nécessaires dans un fichier YAML puis exécutez-les avec une simple commande. Pour en savoir plus sur la création de conteneurs dans Docker à l'aide de Docker Compose, consultez utiliser Docker Compose.

Exemple de base de docker-compose.yml pour MySQL :

version : '3' services : mysql : image : mysql:8.0 ports : - 3306:3306 environnement : - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=project - MYSQL_USER=user - MYSQL_PASSWORD=key volumes : - mysql_data:/var/lib/mysql volumes : mysql_data:

Pour lever les services :

docker-compose up -d

Bonnes pratiques lors de l'utilisation de Docker

Pour que vos images et conteneurs restent efficaces, sécurisés et faciles à entretenir, suivez ces recommandations ::

  • Utilisez des images officielles autant que possible, car ils sont audités et optimisés.
  • Gardez vos contenants légers en utilisant de petites images de base et en supprimant les fichiers inutiles après l'installation des packages.
  • Ne pas exécuter les processus en tant que root, crée un utilisateur spécifique dans le conteneur.
  • Utiliser des volumes pour stocker des données persistantes et éviter les pertes dues aux pannes ou aux mises à jour.
  • Configurer des variables sensibles comme secrets à l'aide d'environnements ou de fichiers .env, pour éviter leur exposition dans le code source.

Exemple pratique : déploiement de Pandora FMS avec Docker

Une véritable application avec plusieurs conteneurs est Pandora FMS. Nous pouvons déployer à la fois le serveur et la base de données avec seulement deux commandes si nous utilisons Docker.

Tout d’abord, nous avons configuré la base de données :

docker run --name Pandora_DB -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pandora -e MYSQL_DATABASE=pandora -e MYSQL_USER=pandora -e MYSQL_PASSWORD=pandora -v mysqlvol:/var/lib/mysql -d rameijeiras/pandorafms-percona-base

Le serveur d'applications est ensuite démarré en pointant vers l'IP de l'hôte :

docker run --name Pandora_app --rm -p 8081:80 -e DBHOST=127.0.0.1 -e DBNAME=pandora -e DBUSER=pandora -e DBPASS=pandora -e DBPORT=3306 -ti rameijeiras/pandorafms-community:740

Avec cela, vous disposerez d'une instance fonctionnelle de Pandora FMS en quelques minutes..

  Comment utiliser la base de connaissances Microsoft dans Service Manager

Docker est un outil polyvalent qui transforme la façon dont les applications sont déployées et gérées. Du déploiement de conteneurs de développement simples à des environnements complexes avec plusieurs services, leur utilisation améliore l'efficacité, réduit les problèmes de compatibilité et facilite la mise à l'échelle de vos projets. Maîtriser Docker est un investissement qui peut faire la différence dans la gestion de vos déploiements et du développement de vos applications.

Commandes de base de Docker-0
Article connexe:
Commandes Docker : Guide complet pour la gestion des conteneurs