Lister les réseaux pour identifier ceux qui ne sont pas utilisés
Dans cette étape, nous apprendrons à lister les réseaux Docker et à identifier ceux qui ne sont actuellement utilisés par aucun conteneur. Cela est utile pour nettoyer votre environnement Docker et libérer des ressources.
Nous avons déjà utilisé la commande docker network ls
à l'étape précédente pour lister tous les réseaux. Exécutons - la à nouveau pour voir l'état actuel.
docker network ls
La sortie affiche l'identifiant du réseau, le nom, le pilote (driver) et la portée (scope) de chaque réseau. Notez que les réseaux my-network-1
et my-network-2
que nous avons créés sont listés.
Pour identifier les réseaux inutilisés, nous pouvons utiliser la commande docker network prune
avec le drapeau --dry - run
. Ce drapeau nous permet de voir quels réseaux seraient supprimés sans les supprimer réellement.
docker network prune --dry-run
La sortie de cette commande listera les réseaux qui ne sont pas attachés à aucun conteneur en cours d'exécution et qui seraient supprimés. Étant donné que nous n'avons attaché aucun conteneur à my-network-1
ou my-network-2
, ils devraient apparaître dans la sortie du test (dry run).
Exécutons un simple conteneur attaché à my-network-1
pour voir comment cela affecte la sortie de docker network prune --dry - run
. Nous utiliserons l'image hello - world
, qui est très petite. Tout d'abord, téléchargez l'image :
docker pull hello-world
Maintenant, exécutez un conteneur en utilisant cette image et attachez - le à my-network-1
. Le drapeau -d
exécute le conteneur en mode détaché (en arrière - plan).
docker run -d --network my-network-1 hello-world
Vous verrez un identifiant de conteneur en sortie.
Maintenant, exécutons à nouveau la commande docker network prune --dry - run
.
docker network prune --dry-run
Cette fois, my-network-1
ne devrait pas apparaître dans la liste des réseaux à supprimer car il est utilisé par le conteneur hello - world
en cours d'exécution. my-network-2
, qui n'est pas utilisé, devrait toujours être listé.
Pour arrêter et supprimer le conteneur hello - world
, trouvez d'abord son identifiant à l'aide de docker ps
.
docker ps
Ensuite, arrêtez le conteneur en utilisant docker stop <container_id>
et supprimez - le en utilisant docker rm <container_id>
. Remplacez <container_id>
par l'identifiant réel de la sortie de docker ps
.
docker stop <container_id>
docker rm <container_id>
Maintenant, si vous exécutez à nouveau docker network prune --dry - run
, my-network-1
et my-network-2
devraient être listés comme réseaux à supprimer, car ils ne sont plus utilisés.