Synthèse automatique
Fournit des commandes et des flux de travail pour nettoyer les ressources Docker (volumes, conteneurs, images, réseaux) et résoudre les problèmes de Docker Desktop sur macOS.
Points forts
- Couverture complète des commandes de nettoyage Docker (volumes, conteneurs, images, réseaux).
- Inclut le dépannage de Docker Desktop sur macOS (démon non réactif, problèmes de VM).
- Propose des workflows de nettoyage progressif et agressif.
- Offre des commandes d'inspection avant la suppression pour éviter la perte de données.
Limites
- Principalement axé sur la CLI Docker ; suppose que Docker est installé et accessible.
- La section de dépannage est spécifique à Docker Desktop sur macOS ; les autres OS ne sont pas couverts.
- Le nettoyage agressif peut entraîner une perte de données irréversible s'il n'est pas utilisé avec précaution.
Utilisez cette compétence lorsqu'on vous demande de nettoyer les ressources Docker, de libérer de l'espace disque ou de résoudre des problèmes de Docker Desktop comme des commandes qui bloquent.
N'utilisez pas cette compétence si vous devez conserver des volumes ou conteneurs spécifiques sans inspection manuelle, ou si le dépannage sur des systèmes non macOS nécessite des étapes différentes.
Analyse de sécurité
PrudenceThe skill involves legitimate Docker cleanup operations but includes commands that can permanently delete user data (e.g., rm -rf of Docker VM files and volume pruning). While all actions are explicitly documented and intended for system maintenance, they require caution to avoid unintended data loss. No exfiltration or external payloads are present.
- •Uses rm -rf on user directories (~/Library/Containers/com.docker.docker) which can cause data loss if run incorrectly
- •Contains destructive Docker prune commands that remove volumes and images with -f flag, skipping confirmation
- •Advises factory reset which deletes all Docker data
Exemples
Clean up all unused Docker resources including volumes, containers, and images.My Docker Desktop is unresponsive, commands hang indefinitely. How do I fix it?Remove all dangling images and stopped containers from Docker.name: docker-cleanup description: Clean up Docker resources including volumes, containers, images, and networks. Use this skill when asked to "clean docker", "prune volumes", "remove unused containers", "free disk space from docker", "docker cleanup", "remove dangling images", or when troubleshooting Docker Desktop issues like unresponsive daemon, hanging commands, or VM problems. Covers volume pruning, identifying dangling/unused resources, container/image removal, Docker Desktop troubleshooting (restart procedures, VM issues), and system-wide cleanup.
Docker Cleanup
Quick Commands Reference
| Task | Command |
| ------------------------- | ----------------------------------- |
| List all volumes | docker volume ls |
| List dangling volumes | docker volume ls -f dangling=true |
| Prune unused volumes | docker volume prune |
| List all containers | docker ps -a |
| List stopped containers | docker ps -a -f status=exited |
| Remove stopped containers | docker container prune |
| List dangling images | docker images -f dangling=true |
| Remove dangling images | docker image prune |
| Remove all unused images | docker image prune -a |
| Full system cleanup | docker system prune |
| Full cleanup + volumes | docker system prune --volumes |
| Nuclear option | docker system prune -a --volumes |
Troubleshooting Docker Desktop (macOS)
Symptoms of Unresponsive Docker
- Commands hang indefinitely (no output)
docker infoordocker psnever return- Docker Desktop icon shows running but CLI unresponsive
Diagnostic Steps
- Check if Docker processes are running:
pgrep -l -f "Docker"
- Check Docker socket:
ls -la /var/run/docker.sock
- Test basic connectivity:
docker version 2>&1
Resolution Steps
Restart Docker Desktop (GUI):
- Click Docker icon in menu bar
- Select "Restart" or "Quit Docker Desktop"
- Reopen Docker Desktop
- Wait for icon to stop animating (fully started)
Restart Docker Desktop (CLI):
# Quit Docker Desktop
osascript -e 'quit app "Docker"'
# Wait a moment
sleep 5
# Reopen Docker Desktop
open -a Docker
# Wait for startup (check with loop)
while ! docker info >/dev/null 2>&1; do
echo "Waiting for Docker to start..."
sleep 2
done
echo "Docker is ready"
Factory Reset (last resort):
- Docker Desktop > Preferences > Reset > Reset to factory defaults
- Warning: This removes all containers, images, and volumes
VM Issues
If Docker VM is corrupted:
# Stop Docker
osascript -e 'quit app "Docker"'
# Remove Docker VM files (careful!)
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/Library/Group\ Containers/group.com.docker
# Restart Docker Desktop
open -a Docker
Cleanup Workflows
Safe Incremental Cleanup
Start conservative, escalate as needed:
# 1. Remove stopped containers
docker container prune -f
# 2. Remove dangling images (untagged)
docker image prune -f
# 3. Remove unused networks
docker network prune -f
# 4. Remove unused volumes (careful - data loss!)
docker volume prune -f
Aggressive Cleanup
For maximum space recovery (destructive):
# Remove everything unused: containers, networks, images, volumes
docker system prune -a --volumes -f
Inspect Before Removing
Check volume usage:
# List volumes with size (requires docker system df)
docker system df -v
# Inspect specific volume
docker volume inspect <volume_name>
Find what's using a volume:
docker ps -a --filter volume=<volume_name>
Check image layers:
docker history <image_name>
Selective Removal
Remove specific volumes:
docker volume rm volume1 volume2
Remove volumes matching pattern:
docker volume ls -q | grep "pattern" | xargs docker volume rm
Remove old containers (stopped > 24h ago):
docker container prune --filter "until=24h"
Remove images older than 7 days:
docker image prune -a --filter "until=168h"
Disk Space Analysis
# Overview of Docker disk usage
docker system df
# Detailed breakdown
docker system df -v
# Find large images
docker images --format "{{.Repository}}:{{.Tag}} {{.Size}}" | sort -k2 -h
Safety Notes
docker volume pruneremoves all volumes not attached to containers - verify important data is backed up-fflag skips confirmation prompts - use carefullydocker system prune -aremoves all unused images, not just dangling ones- Running containers and their resources are never affected by prune commands
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/docker-cleanup-mmh8qq03/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/docker-cleanup-mmh8qq03' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/docker-cleanup-mmh8qq03/download' --output '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md.part' && mv '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md.part' '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md' && test -s '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/docker-cleanup' && cp -R '.skill-downloads/docker-cleanup-mmh8qq03' '.claude/skills/docker-cleanup'Cursor
test -f '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md' && test -s '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/docker-cleanup' && cp -R '.skill-downloads/docker-cleanup-mmh8qq03' '.cursor/skills/docker-cleanup'Codex
test -f '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md' && test -s '.skill-downloads/docker-cleanup-mmh8qq03/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/docker-cleanup' && cp -R '.skill-downloads/docker-cleanup-mmh8qq03' '.agents/skills/docker-cleanup'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/docker-cleanup-mmh8qq03'openskills read 'docker-cleanup-mmh8qq03'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/docker-cleanup-mmh8qq03/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Configurer un canal de discussion avec SecretRefs
DevOps
Configurez des canaux de discussion avec des commandes non interactives, les secrets étant uniquement des SecretRefs. Couvre les étapes de collecte, modification, réparation et vérification.
Enquêter sur les échecs CI de ClickHouse
DevOps
Investigue un échec CI de ClickHouse de bout en bout à partir d'une URL de PR ou de rapport S3. Récupère les tests échoués, classe flaky vs vraie régression, et cherche des issues/fixes existants.
Revue de PR Ansible
DevOps
Examine une PR Ansible selon le processus standardisé du projet, incluant la validation des changelogs, la couverture de tests et le suivi des commentaires.