Comment supprimer un réseau Docker inutilisé

DockerBeginner
Pratiquer maintenant

Introduction

Docker est une puissante plateforme de conteneurisation qui vous permet de construire, déployer et gérer des applications dans un environnement cohérent et évolutif. Lorsque vous travaillez avec Docker, il est important de maintenir une configuration réseau propre et efficace. Ce tutoriel vous guidera tout au long du processus d'identification et de suppression des réseaux Docker inutilisés, vous aidant ainsi à optimiser votre environnement Docker.

Comprendre les réseaux Docker

Les réseaux Docker sont un concept fondamental dans l'écosystème Docker. Ils offrent un moyen de connecter des conteneurs et de permettre la communication entre eux. Docker prend en charge plusieurs pilotes de réseau (network drivers), chacun avec son propre ensemble de fonctionnalités et de cas d'utilisation.

Le pilote de réseau par défaut dans Docker est le pilote bridge, qui crée un pont virtuel sur la machine hôte et attache les conteneurs à celui - ci. Cela permet aux conteneurs de communiquer entre eux et avec le système hôte. D'autres pilotes de réseau incluent overlay, host et macvlan, chacun avec ses propres avantages et cas d'utilisation.

graph LR A[Host Machine] --> B[Docker Bridge Network] B --> C[Container 1] B --> D[Container 2] B --> E[Container 3]

Le pilote de réseau overlay est utilisé pour le réseau multi - hôte, permettant aux conteneurs sur différents hôtes Docker de communiquer entre eux. Le pilote de réseau host supprime l'isolement réseau entre le conteneur et l'hôte, tandis que le pilote macvlan permet d'attribuer une adresse MAC aux conteneurs, les faisant apparaître comme des appareils physiques sur le réseau.

Comprendre les différents pilotes de réseau et leurs cas d'utilisation est crucial lorsque vous travaillez avec Docker, car cela vous permet de choisir la configuration réseau la plus appropriée pour votre application.

Identifier et lister les réseaux Docker inutilisés

Pour identifier et lister les réseaux Docker inutilisés, vous pouvez utiliser les commandes CLI Docker suivantes :

Lister tous les réseaux Docker

Pour lister tous les réseaux Docker de votre système, vous pouvez utiliser la commande docker network ls :

docker network ls

Cela affichera un tableau avec les colonnes suivantes :

  • NETWORK ID
  • NAME
  • DRIVER
  • SCOPE

Identifier les réseaux Docker inutilisés

Pour identifier les réseaux Docker inutilisés, vous pouvez utiliser la commande docker network ls avec l'option -f (filtre) :

docker network ls -f "dangling=true"

Cela listera tous les réseaux Docker qui ne sont utilisés par aucun conteneur. Le filtre dangling=true garantit que seuls les réseaux sans aucun conteneur connecté sont affichés.

Alternativement, vous pouvez utiliser la commande suivante pour lister tous les réseaux qui ne sont utilisés par aucun conteneur en cours d'exécution :

docker network ls --filter "scope=local" --filter "driver=bridge" --filter "name=^((?!host|none|bridge).)*$" --format "{{.ID}}\t{{.Name}}\t{{.Driver}}"

Cette commande filtre la liste des réseaux pour afficher uniquement les réseaux locaux basés sur le pont (bridge) qui ne sont pas les réseaux par défaut host, none ou bridge.

La sortie de cette commande sera un tableau avec les colonnes suivantes :

  • NETWORK ID
  • NAME
  • DRIVER

En utilisant ces commandes, vous pouvez facilement identifier et lister les réseaux Docker inutilisés de votre système, ce qui peut être utile pour nettoyer votre environnement Docker.

Supprimer les réseaux Docker inutilisés

Après avoir identifié les réseaux Docker inutilisés, vous pouvez les supprimer en utilisant la commande docker network rm.

Supprimer un seul réseau inutilisé

Pour supprimer un seul réseau Docker inutilisé, vous pouvez utiliser la commande suivante :

docker network rm <network_name>

Remplacez <network_name> par le nom du réseau que vous souhaitez supprimer.

Supprimer plusieurs réseaux inutilisés

Si vous avez plusieurs réseaux Docker inutilisés, vous pouvez les supprimer en une seule commande en utilisant la commande docker network ls avec l'option -q (quiet) pour obtenir les identifiants des réseaux, puis en les passant à la commande docker network rm :

docker network ls -f "dangling=true" -q | xargs docker network rm

Cette commande liste d'abord tous les réseaux Docker inutilisés (dangling) en utilisant la commande docker network ls avec le filtre -f "dangling=true". L'option -q est utilisée pour afficher uniquement les identifiants des réseaux. Ces identifiants sont ensuite passés à la commande docker network rm à l'aide de l'utilitaire xargs, qui supprime tous les réseaux listés.

Supprimer tous les réseaux inutilisés

Si vous souhaitez supprimer tous les réseaux Docker inutilisés de votre système, vous pouvez utiliser la commande suivante :

docker network prune

Cette commande supprimera tous les réseaux qui ne sont utilisés par aucun conteneur.

En utilisant ces commandes, vous pouvez facilement supprimer les réseaux Docker inutilisés de votre système, ce qui peut aider à maintenir votre environnement Docker propre et organisé.

Résumé

Dans ce tutoriel, vous avez appris à gérer efficacement vos réseaux Docker en identifiant et en supprimant les réseaux inutilisés. En suivant les étapes décrites, vous pouvez vous assurer que votre environnement Docker reste organisé et efficace, ce qui entraîne des performances améliorées et une consommation de ressources réduite. Maîtriser la gestion des réseaux Docker est une compétence essentielle pour tout utilisateur ou administrateur Docker.