DockerGestion de conteneurs Docker

Gestion de Conteneurs Docker

La commande docker run est essentielle pour exécuter des conteneurs Docker à partir d’images préalablement créées. Elle permet de spécifier diverses options et paramètres pour personnaliser le comportement du conteneur.

Exécution d’une Image Docker

La syntaxe de base de la commande docker run est la suivante :

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • OPTIONS : Ce sont des options facultatives qui permettent de configurer le comportement du conteneur (par exemple, le réseau, les volumes, les ports, etc.).
  • IMAGE : C’est le nom de l’image Docker à partir de laquelle vous souhaitez exécuter un conteneur.
  • COMMAND : Il s’agit de la commande que vous souhaitez exécuter à l’intérieur du conteneur (par exemple, un script ou une application).
  • ARG : Ce sont des arguments supplémentaires que vous souhaitez passer à la commande à l’intérieur du conteneur.

Exemple :

docker run -d -p 80:80 --name mon-serveur-web nginx
  • -d : Cela signifie que le conteneur sera exécuté en arrière-plan (mode détaché).
  • -p 80:80 : Cela mappe le port 80 du conteneur au port 80 de l’hôte, permettant ainsi d’accéder au serveur web depuis le navigateur.
  • —name mon-serveur-web : Cela attribue un nom personnalisé (“mon-serveur-web”) au conteneur.
  • nginx : C’est le nom de l’image Docker à utiliser.

Vérification de l’Exécution

Pour vérifier que le conteneur est en cours d’exécution, utilisez la commande :

docker ps

Cela affichera une liste des conteneurs en cours d’exécution, y compris leur ID, leur nom, leur image, leurs ports mappés, etc.

docker ps --no-trunc
 
CONTAINER ID                                                     IMAGE                        COMMAND                CREATED              STATUS              PORTS               NAMES
ca5534a51dd04bbcebe9b23ba05f389466cf0c190f1f8f182d7eea92a9671d00 ubuntu:24.04                 bash                   17 seconds ago       Up 16 seconds       3300-3310/tcp       webapp
9ca9747b233100676a48cc7806131586213fa5dab86dd1972d6a8732e3a84a4d crosbymichael/redis:latest   /redis-server --dir    33 minutes ago       Up 33 minutes       6379/tcp            redis,webapp/db

Accès au Conteneur

Pour accéder au conteneur, vous pouvez ouvrir un navigateur web et entrer l’adresse IP de l’hôte ou localhost suivi du numéro de port (dans cet exemple, http://localhost:80).

Vous verrez la page d’accueil par défaut de Nginx.

Arrêt et Suppression du Conteneur

Pour arrêter le conteneur, utilisez la commande :

docker stop mon-serveur-web

Pour supprimer le conteneur, utilisez la commande :

docker rm mon-serveur-web

Le nom du conteneur (mon-serveur-web dans cet exemple) est utilisé pour l’arrêter et le supprimer.

Vous pouvez utiliser des scripts comme commande pour vous faire gagner du temps.

docker stop $(docker ps -a -q)

La commande docker stop $(docker ps -a -q) est utilisée pour arrêter tous les conteneurs Docker en cours d’exécution sur votre système. Voici une explication détaillée de cette commande :

  • docker stop : Cette partie de la commande est utilisée pour arrêter des conteneurs Docker. Vous lui fournissez les IDs des conteneurs que vous souhaitez arrêter en les plaçant après docker stop.
  • docker ps -a : Cette partie de la commande liste tous les conteneurs Docker, qu’ils soient actuellement en cours d’exécution ou qu’ils soient arrêtés. L’option -a signifie “all” (tous) et inclut donc tous les conteneurs.
  • docker ps -a -q : Cette partie de la commande est une extension de la précédente, mais elle n’affiche que les IDs (identifiants) des conteneurs au lieu de toutes les informations détaillées. L’option -q signifie “quiet” (silencieux) et ne renvoie que les IDs.
  • $(docker ps -a -q) : Cette partie de la commande est une substitution de commande (command substitution) qui prend la sortie (les IDs des conteneurs) de docker ps -a -q et l’utilise comme argument pour la commande suivante.

En combinant ces éléments, la commande docker stop $(docker ps -a -q) fait ce qui suit :

  • docker ps -a -q récupère les IDs de tous les conteneurs Docker (en cours d’exécution et arrêtés).
  • Ces IDs sont ensuite fournis en tant qu’arguments à la commande docker stop, ce qui signifie que Docker va arrêter tous les conteneurs dont les IDs ont été récupérés par la première partie de la commande.

Cette commande est utile lorsque vous souhaitez nettoyer votre système en arrêtant tous les conteneurs actifs et/ou arrêtés en une seule commande. Cela peut être particulièrement pratique lors de la gestion de nombreux conteneurs en même temps.

⚠️

Assurez-vous d’utiliser cette commande avec précaution, car elle arrêtera tous les conteneurs sans distinction.