Docker facilite le regroupement de vos applications et services dans des conteneurs afin vous pouvez les exécuter n'importe où. Cependant, lorsque vous travaillez avec Docker, c'est aussi facile d’accumuler un nombre excessif d’images, de conteneurs et de volumes de données qui encombrent la sortie et consomment de l'espace disque.
Docker vous donne tous les outils dont vous avez besoin pour nettoyer votre système de la ligne de commande. Ce guide de style aide-mémoire fournit un aperçu rapide référence aux commandes utiles pour libérer de l'espace disque et conserver votre système organisé en supprimant les images Docker, les conteneurs et les volumes.
Docker fournit une commande unique qui nettoiera toutes les ressources : images, conteneurs, volumes et réseaux — qui sont en suspens (non étiquetés ou associés à un conteneur):
docker system prune
Pour supprimer en outre tous les conteneurs arrêtés et toutes les images inutilisées (pas seulement les images pendantes), ajoutez l'indicateur -a à la commande :
docker system prune -a
Utilisez la commande docker images avec l'indicateur -a pour localiser l'ID des images que vous souhaitez supprimer. Cela montrera vous chaque image, y compris les couches d'image intermédiaires. Quand tu as localisé les images que vous souhaitez supprimer, vous pouvez transmettre leur identifiant ou leur tag à docker rmi :
Liste :
docker images -a
Supprimer :
docker rmiImageImage
Les images Docker sont constituées de plusieurs couches. Les images pendantes sont des calques qui n'ont aucun rapport avec les images taguées. Ils ne servent plus un objectif et consommer de l’espace disque. Ils peuvent être localisés en ajoutant le filtre flag -f avec la valeur dangling=true à la commande docker images. Lorsque vous êtes sûr de vouloir les supprimer, vous pouvez utiliser la commande docker image prune :
Liste :
docker images -f dangling=true
Supprimer :
docker image prune
Vous pouvez retrouver toutes les images qui faites correspondre un modèle en utilisant une combinaison d'images Docker et de grep. Une fois que vous êtes satisfait, vous pouvez les supprimer en utilisant awk pour transmettre les identifiants à docker rmi. Notez que ces utilitaires ne sont pas fournis par Docker et ne sont pas nécessairement disponibles sur tous les systèmes :
Liste :
docker images -a | grep "pattern"
Supprimer :
docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi
Toutes les images Docker d'un système peuvent être répertoriées en ajoutant -a à la commande docker images. Une fois que vous êtes sûr de vouloir tous les supprimer, vous pouvez ajouter l'indicateur -q pour transmettre l'ID de l'image à docker rmi :
Liste :
docker system prune
Supprimer :
docker system prune -a
Utilisez la commande docker ps avec l'indicateur -a pour localiser le nom ou l'ID des conteneurs que vous souhaitez supprimer :
Liste :
docker images -a
Supprimer :
docker rmiImageImage
Si vous savez que lorsque vous créez un conteneur, vous ne voudrez plus le conserver une fois que vous aurez terminé, vous peut exécuter docker run --rm pour le supprimer automatiquement à sa sortie :
Exécuter et supprimer :
docker images -f dangling=true
Vous pouvez localiser les conteneurs à l'aide de docker ps -a et les filtrer selon leur statut : créé, redémarré, en cours d'exécution, mis en pause ou quitté. Pour consulter la liste des conteneurs quittés, utilisez l'indicateur -f pour filtrer en fonction de l'état. Lorsque vous avez vérifié que vous souhaitez supprimer ces conteneurs, utilisez -q pour transmettre les identifiants à la commande docker rm :
Liste :
docker image prune
Supprimer :
docker images -a | grep "pattern"
Les filtres Docker peuvent être combinés en répétant l'indicateur de filtre avec un valeur supplémentaire. Il en résulte une liste de conteneurs qui répondent soit condition. Par exemple, si vous souhaitez supprimer tous les conteneurs marqués comme soit créé (un état qui peut résulter lorsque vous exécutez un conteneur avec une commande non valide) soit quitté, vous pouvez utiliser deux filtres :
Liste :
docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi
Supprimer :
docker images -a
Vous pouvez trouver tous les conteneurs qui correspondent à un modèle en utilisant une combinaison de docker ps et grep. Lorsque vous êtes satisfait d'avoir la liste que vous souhaitez supprimer, vous pouvez utiliser awk et xargs pour fournir l'ID à docker rm. Notez que ces utilitaires ne sont pas fournis par Docker et ne sont pas nécessairement disponibles sur tous les systèmes :
Liste :
docker rmi $(docker images -a -q)
Supprimer :
docker ps -a
Vous pouvez consulter les conteneurs de votre système avec Docker p.s. L'ajout de l'indicateur -a affichera tous les conteneurs. Lorsque vous êtes sûr de vouloir les supprimer, vous pouvez ajouter l'indicateur -q pour fournir les identifiants aux commandes docker stop et docker rm :
Liste :
docker rm ID_or_NameID_or_Name
Supprimer :
docker run --rm image_name
Utilisez la commande docker volume ls pour localiser le ou les noms de volume que vous souhaitez supprimer. Ensuite vous pouvez supprimer un ou plusieurs volumes avec la commande docker volume rm :
Liste :
docker system prune
Supprimer :
docker system prune -a
Puisque le but des volumes est d'exister indépendamment de conteneurs, lorsqu'un conteneur est supprimé, un volume n'est pas automatiquement supprimé à en même temps. Lorsqu'un volume existe et n'est plus connecté à aucun conteneurs, cela s’appelle un volume suspendu. Pour les localiser et confirmer que vous souhaitez les supprimer, vous pouvez utiliser le docker volume ls commande avec un filtre pour limiter les résultats aux volumes en suspens. Quand vous êtes satisfait de la liste, vous pouvez tous les supprimer avec docker volume prune :
Liste :
docker images -a
Supprimer :
docker rmiImageImage
Si vous créez un volume sans nom, il peut être supprimé en même temps que le conteneur avec l'option -v. Notez que cela ne fonctionne qu'avec des fichiers sans nom tomes. Lorsque le conteneur est supprimé avec succès, son ID est affiché. A noter qu'aucune référence n'est faite à la suppression du volume. S'il n'est pas nommé, il est supprimé silencieusement du système. Si c'est nommé, il reste silencieusement présent.
Supprimer :
docker images -f dangling=true
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!