Kennisbank › Docker › Gérer les volumes et réseaux Docker
docker gevorderd 25 August 2026

Gérer les volumes et réseaux Docker

Gérer les volumes et réseaux Docker

Gérer les volumes et réseaux Docker

Cet article explique comment gérer les volumes et réseaux Docker sur Pixzo, destiné aux utilisateurs qui travaillent déjà avec des conteneurs Docker mais qui n'ont pas encore configuré de volumes ou de réseaux.

Prérequis

- Docker Engine 24.0 ou supérieur - Accès à un terminal avec les commandes Docker - Des conteneurs Docker existants à relier à des volumes et réseaux

Étapes

1. Vérifier les volumes existants

docker volume ls

Cette commande affiche tous les volumes de votre système. Les volumes stockent des données qui doivent survivre après l'arrêt ou la suppression d'un conteneur. Contrairement à la couche de système de fichiers interne d'un conteneur, qui disparaît lors de la suppression du conteneur, les volumes sont conservés sauf si vous les supprimez explicitement.

2. Créer un nouveau volume

docker volume create mon-volume

Cette commande crée un nouveau volume nommé `mon-volume`. Docker attribue par défaut le pilote `local`, ce qui signifie que le volume est stocké sur la machine hôte sous `/var/lib/docker/volumes/`.

3. Relier un volume à un conteneur

docker container run -d --name mon-conteneur -v mon-volume:/data nginx:alpine

L'option `-v` relie le volume `mon-volume` au chemin `/data` dans le conteneur. Toutes les données que le conteneur écrit dans `/data` sont stockées dans le volume et persistent si vous supprimez le conteneur avec `docker container rm mon-conteneur`.

4. Inspecter les détails du volume

docker volume inspect mon-volume

Cette commande affiche les métadonnées du volume, y compris le point de montage sur l'hôte et le pilote utilisé. Vous verrez également si le volume est utilisé par des conteneurs.

5. Supprimer un volume

docker volume rm mon-volume

Docker ne supprime que les volumes qui ne sont pas utilisés par un conteneur. Cette précaution évite de perdre des données accidentellement. Utilisez `docker volume rm -f mon-volume` pour supprimer un volume encore relié à un conteneur — cela force la suppression.

6. Afficher les réseaux disponibles

docker network ls

Cette commande affiche tous les réseaux de votre système. Docker crée par défaut trois réseaux : `bridge`, `host` et `none`. Le réseau `bridge` est le réseau par défaut pour les conteneurs et leur permet de communiquer entre eux via des adresses IP.

7. Créer un réseau personnalisé

docker network create --driver bridge mon-reseau

Avec cette commande, vous créez un nouveau réseau bridge. Les réseaux personnalisés offrent une meilleure isolation et une communication contrôlée entre les conteneurs. Vous pouvez également ajouter un mappage hôte-IP au démarrage d'un conteneur avec l'option `--add-host`, ce qui modifie la résolution DNS dans le conteneur.

8. Relier un conteneur à un réseau

docker network connect mon-reseau mon-conteneur

Cette commande connecte un conteneur existant à un réseau. Vous pouvez relier un conteneur à plusieurs réseaux. Les conteneurs du même réseau peuvent se joindre via leur nom de conteneur, ce qui simplifie la communication entre services.

Vérification

Vérifiez que votre volume et votre réseau fonctionnent correctement :

docker volume ls
docker network ls
docker container inspect mon-conteneur | grep -A 10 "Networks"

Les deux premières commandes confirment que le volume et le réseau existent. La commande d'inspection montre à quel réseau le conteneur est relié. Vous verrez également si le volume est correctement monté sous le chemin `/data`.

Problèmes fréquents

1. Impossible de supprimer un volume

Docker refuse la suppression si un conteneur utilise le volume. Résolvez cela en arrêtant et en supprimant d'abord le conteneur :

docker container rm -f mon-conteneur
docker volume rm mon-volume

2. Les conteneurs ne peuvent pas se joindre via le réseau

Les conteneurs sur des réseaux différents ne communiquent pas entre eux. Assurez-vous que les deux conteneurs sont sur le même réseau :

docker network connect mon-reseau conteneur-a
docker network connect mon-reseau conteneur-b

3. Les volumes inutilisés occupent de l'espace disque

Libérez de l'espace en nettoyant les volumes inutilisés avec la commande de nettoyage :

docker volume prune

Ajoutez `--filter` pour ne supprimer que les volumes plus anciens qu'un certain moment :

docker volume prune --filter "until=168h"

Docker applique la même prudence lors du nettoyage des réseaux — `docker network prune` ne supprime que les réseaux qui ne sont utilisés par aucun conteneur.

Le cycle de vie des volumes et des réseaux est indépendant de celui des conteneurs. Un conteneur peut être mis en pause avec `docker container pause`, ce qui suspend temporairement tous les processus, mais le volume et la connexion réseau restent intacts. Lorsque vous reprenez le conteneur, les applications reprennent là où elles s'étaient arrêtées — avec les mêmes données de volume et connexions réseau. Cette indépendance signifie que vous pouvez gérer les volumes et les réseaux sans affecter les conteneurs, mais cela exige aussi de suivre vous-même quelles ressources sont actives.

← Retour à la base de connaissances
← Terug naar kennisbank