Guide stockage développeur

Réduire Docker.raw sur Mac : libérez votre espace disque

DiskCompanion Engineering
Équipe DiskCompanion
Lecture : 8 min
En résumé

Pourquoi Docker.raw occupe plus de 80 Go et comment y remédier

Lorsque l'espace de stockage de votre Mac s'épuise et que des conteneurs de développement mobilisent des dizaines de gigaoctets invisibles, Docker est presque toujours le responsable. Voici ce qu'il faut retenir :

  • Le principe de la machine virtuelle : macOS ne pouvant exécuter de conteneurs Linux en natif, Docker Desktop fait tourner une machine virtuelle Linux légère. L'ensemble des images, couches, volumes et caches de compilation est consigné dans un fichier unique nommé Docker.raw.
  • Le piège du clapet anti-retour : Le fichier Docker.raw s'étend automatiquement lorsque vous téléchargez des images. Pourtant, exécuter docker system prune ne libère de l'espace qu'à l'intérieur de la machine virtuelle. Le système APFS de votre Mac ne réduit jamais le fichier physique de son propre chef.
  • La solution express en 2 minutes : Dans Docker Desktop, ouvrez Settings > Resources > Virtual disk limit et cliquez sur Reclaim disk space, ou utilisez l'icône de dépannage (l'insecte) pour purger les caches.
  • La réinitialisation complète : Quitter Docker Desktop et placer le fichier Docker.raw dans la Corbeille libère immédiatement entre 60 Go et 120 Go. Docker recrée un fichier vierge de 2 Go au redémarrage suivant.
  • Nettoyage visuel de développement : Combinez l'entretien de Docker avec l'explorateur visuel de DiskCompanion pour détecter les simulateurs Xcode, les dossiers node_modules délaissés et les caches de paquets en moins de 30 secondes pour une licence à vie à $29.

Vous consultez l'espace de stockage de votre Mac car votre disque SSD interne arrive à saturation, et vous découvrez un fichier volumineux dissimulé nommé Docker.raw accaparant 60 Go, 90 Go ou même 120 Go de données. Vous ouvrez le Terminal, lancez docker system prune -a --volumes, Docker confirme avoir libéré 40 Go de données, mais dans le Finder, pas le moindre mégaoctet n'a été rendu à votre Mac.

Cette situation constitue l'une des incompréhensions les plus fréquentes pour les développeurs et professionnels travaillant sur macOS. La bonne nouvelle est que votre disque n'est pas bloqué définitivement. Dès lors que l'on comprend les interactions entre macOS et la machine virtuelle Linux de Docker, quelques minutes suffisent pour récupérer l'intégralité de cet espace gaspillé.


Architecture : pourquoi Docker a besoin d'un fichier géant sur Mac

Pour comprendre la taille démesurée prise par Docker.raw, il convient d'examiner le fonctionnement des conteneurs sur l'écosystème Apple.

Les conteneurs reposent sur des fonctions natives du noyau Linux telles que les namespaces, les groupes de contrôle (cgroups) et les systèmes de fichiers superposés (overlayfs). Le noyau de macOS (Darwin) ne possède pas ces fonctionnalités. Par conséquent, macOS ne peut pas exécuter directement un conteneur Linux comme le ferait un serveur Ubuntu ou Debian.

Pour contourner cette limite, Docker Desktop exécute en arrière-plan une machine virtuelle Linux via le framework de virtualisation d'Apple.

L'analogie du disque dur virtuel : Imaginez Docker sur Mac comme un second ordinateur portable Linux virtuel posé sur votre bureau. Cet ordinateur virtuel a besoin de son propre disque dur formaté. C'est précisément ce que représente le fichier Docker.raw sur votre disque SSD.

Chaque action quotidienne dans vos environnements de développement :

  • Téléchargement d'images de bases de données (PostgreSQL, MySQL, Redis)
  • Compilation de Dockerfiles complexes avec de multiples dépendances
  • Écriture de données dans des volumes Docker persistants
  • Mise en cache de couches intermédiaires par BuildKit

Toutes ces données sont stockées à l'intérieur du fichier Docker.raw.


Le piège du fichier creux : pourquoi docker system prune ne libère rien

Face à un disque saturé, le premier réflexe de tout développeur consiste à taper la commande classique dans le Terminal :

zsh - Nettoyage Docker System Prune
docker system prune -a --volumes
Total reclaimed space: 48.62GB

Docker indique fièrement avoir récupéré près de 50 Go. Pourtant, l'espace disponible de votre Mac reste strictement identique. Pour quelle raison ?

La raison réside dans la nature même du fichier Docker.raw, structuré comme un fichier creux APFS (sparse file). Il se comporte comme un ballon doté d'une valve unidirectionnelle :

  1. Extension automatique : Lorsque Linux a besoin de 20 Go supplémentaires pour installer des images, macOS alloue des blocs physiques sur votre SSD. Le fichier passe instantanément de 10 Go à 30 Go.
  2. Libération interne uniquement : Lorsque vous exécutez docker system prune, le système de fichiers Linux ext4 marque ces blocs internes comme libres. Pour la machine virtuelle, la place est redevenue vacante.
  3. Fichier hôte rigide : Depuis macOS, le système voit simplement un fichier binaire continu de 30 Go. Faute d'un signal explicite de compactage (TRIM ou perforation de trous creux APFS), macOS ignore quels blocs sont vides et conserve leur réservation sur le SSD.

Sans action ciblée, Docker.raw conserve indéfiniment son volume maximal atteint dans le passé.


Où se cache le fichier Docker.raw sur votre Mac

Sur les versions contemporaines de macOS, ce fichier se dissimule au cœur de votre dossier Bibliothèque utilisateur :

Disque virtuel actuel 40 Go à 120 Go Fréquent

Image disque de la VM Docker

L'image disque virtuelle qui regroupe les conteneurs, images, volumes locaux et caches de compilation.

~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
Ancien format Anciennes versions HyperKit

Ancien disque Docker QCOW2

Sur de vieilles configurations conservées depuis plusieurs années, le fichier portait parfois l'extension QCOW2.

~/Library/Containers/com.docker.docker/Data/vms/0/Docker.qcow2

Vous pouvez vérifier l'espace physique réellement réservé sur votre disque SSD à l'aide de la commande du dans le Terminal :

zsh - Mesure de l'occupation physique
# Espace physique réellement occupé sur le SSD du Mac :
du -sh ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

Taille virtuelle maximale allouée au fichier :

ls -lh ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

Si le résultat de du -sh indique 75 Go, ce sont très exactement 75 Go de votre disque physique qui restent bloqués, même si aucun conteneur n'est actif au moment où vous lisez ces lignes.


4 méthodes éprouvées pour réduire le volume de Docker.raw

Selon que vous souhaitiez préserver vos images en cours d'utilisation ou repartir d'une installation propre, quatre démarches s'offrent à vous :

Méthode 1 : Récupérer l'espace via l'interface graphique de Docker Desktop

Les éditions récentes de Docker Desktop intègrent un mécanisme officiel permettant d'envoyer l'instruction de compactage à macOS :

  1. Lancez l'application Docker Desktop sur votre Mac.
  2. Cliquez sur l'icône d'engrenage en haut à droite (Réglages).
  3. Accédez au menu Resources > Advanced (ou Virtual disk limit selon la version).
  4. Repérez le bouton Reclaim disk space situé sous la jauge de taille du disque virtuel.
  5. Cliquez sur ce bouton pour enclencher le processus de compactage.

Docker met la machine virtuelle en pause quelques instants, analyse le fichier creux pour localiser les blocs libérés et restitue ces derniers à macOS. Cette opération s'exécute généralement en une à trois minutes.

Méthode 2 : Vider les caches BuildKit et les images orphelines

Lorsque vous compilez fréquemment vos propres conteneurs, le moteur BuildKit accumule des dizaines de gigaoctets de couches intermédiaires qui échappent aux commandes de nettoyage basiques. Voici comment purger ce cache :

zsh - Nettoyage BuildKit et images orphelines
# Purger tous les caches de compilation BuildKit :
docker builder prune -a --force

Supprimer l'ensemble des images locales orphelines :

docker image prune -a --force

Une fois ces commandes validées, retournez dans Docker Desktop et cliquez à nouveau sur Reclaim disk space. Cette simple action libère fréquemment entre 20 Go et 50 Go d'un seul coup.

Méthode 3 : Réinitialiser Docker à zéro (Le redémarrage propre)

Lorsque le fichier Docker.raw souffre d'une forte fragmentation interne, le compactage peut se révéler insuffisant. Une réinitialisation complète offre le résultat le plus radical :

  1. Dans la barre supérieure de Docker Desktop, cliquez sur l'icône d'insecte (Troubleshoot).
  2. Sélectionnez l'option Clean / Purge data.
  3. Cochez les cases Virtual disk et Build cache.
  4. Confirmez en cliquant sur le bouton Delete.

Vous pouvez également obtenir ce résultat manuellement : quittez complètement Docker Desktop, puis glissez le fichier ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw dans la Corbeille de macOS. Au prochain lancement de Docker, l'application générera automatiquement un fichier neuf d'environ 2 Go. Les fichiers de code source de vos projets sur votre Mac ne subissent aucune altération.

Méthode 4 : Traquer l'encombrement général de développement avec DiskCompanion

Docker n'est que rarement le seul responsable de la saturation d'un Mac de développeur. De nombreux autres outils accumulent discrètement des gigaoctets inutiles :

Données Xcode 30 Go à 80 Go Fréquent

DerivedData et simulateurs Xcode

Simulateurs iOS obsolètes, indexations de projets terminés et fichiers compilés dans le dossier Developer.

~/Library/Developer/Xcode/DerivedData/
Modules Node 20 Go à 60 Go Fréquent

Dossiers node_modules oubliés

Arborescences de dépendances JavaScript volumineuses et dupliquées dans d'anciens dépôts inactifs.

node_modules/

Plutôt que d'exécuter des scripts complexes à l'aveugle, l'explorateur visuel de DiskCompanion met en lumière ces zones d'accumulation grâce à une carte interactive. Vous pouvez ainsi récupérer 50 Go à 100 Go d'espace en toute clarté.


Comment empêcher Docker de saturer votre SSD à l'avenir

Quelques réglages préventifs évitent que le fichier Docker.raw ne grossisse à nouveau de manière démesurée :

  1. Ajuster la limite de disque virtuel : Dans Docker Desktop, rendez-vous dans Settings > Resources > Virtual disk limit. Par défaut, cette valeur est souvent positionnée sur 64 Go ou 128 Go. Sur un Mac équipé d'un SSD de 256 Go ou 512 Go, baissez cette jauge à 24 Go ou 32 Go. Cela borne la taille maximale et prévient toute saturation imprévue.
  2. Activer VirtioFS et la virtualisation native : Dans Settings > General, veillez à cocher « Use Virtualization framework ». Dans Settings > Resources > File sharing, activez le pilote VirtioFS. Ce moteur moderne fourni par Apple offre une meilleure gestion mémoire que les anciennes couches logicielles.
  3. Planifier une maintenance périodique : Prenez le réflexe d'exécuter un nettoyage mensuel avec docker builder prune -f ou via un alias dans votre profil de terminal.

Si votre Mac affiche déjà des alertes urgentes de saturation de disque, consultez notre tutoriel dédié pour résoudre un disque de démarrage Mac saturé.


Comparatif des démarches de nettoyage Docker

Voici une synthèse pratique des quatre méthodes, comparant le volume de récupération, la sécurité des données et le temps requis :

Méthode de nettoyage Espace libéré Niveau de sécurité Temps requis Images à recharger ?
DiskCompanion Explorer & Smart Clean Notre recommandation 50 Go à 120 Go+ Sécurisé via Corbeille Moins de 30 secondes Non (Caches nettoyés)
Interface Docker Desktop Reclaim 20 Go à 60 Go Élevé (Outil officiel) 2 à 3 minutes Non (Images conservées)
Terminal Builder & Image Prune 15 Go à 40 Go Élevé (Commandes CLI) 1 minute Partiel (Orphelines purgées)
Purger les données / Supprimer Docker.raw 40 Go à 100 Go+ Moyen (Remise à zéro) 30 secondes Oui (Images à retélécharger)

Maîtrisez votre espace de développement avec DiskCompanion

En tant que développeur, votre temps de concentration est précieux. Passer des heures à chercher l'origine d'un disque saturé ou lancer des commandes risquées interrompt votre productivité.

DiskCompanion a été pensé pour les utilisateurs de Mac exigeants qui recherchent rapidité, transparence et ergonomie soignée. Conçu en SwiftUI natif, il vous offre une lisibilité totale sur votre SSD sans aucun processus de fond, sans traceurs et sans abonnement récurrent.

Exploration visuelle fluide

Naviguez dans votre disque avec un graphique arborescent réactif. Isolez les images disques imposantes, les caches de compilation et les dossiers volumineux en un coup d'œil.

Sécurité Corbeille intégrale

DiskCompanion ne détruit jamais vos fichiers de manière irréversible sans précaution. Les éléments nettoyés sont déposés dans la Corbeille de macOS pour une remise en place immédiate si nécessaire.

Zéro processus en arrière-plan

Contrairement à des utilitaires encombrants, DiskCompanion n'installe aucun agent de surveillance continue ni démon système. Dès la fenêtre fermée, l'application ne consomme plus aucune ressource.

Achat unique à vie

Fini les mensualités. Une unique licence à vie à $29 couvre jusqu'à 3 de vos ordinateurs Mac personnels, avec mises à jour de maintenance et une garantie 14-day money-back guarantee.

Avant de louer des forfaits de stockage en ligne onéreux, faites le point sur vos besoins réels avec notre calculateur de stockage Mac et notre calculateur de mémoire vive RAM Mac gratuits.

Questions fréquentes

Questions fréquentes sur Docker et le stockage Mac

Réponses claires sur le fichier Docker.raw, les disques virtuels APFS et la récupération d'espace.

Où se trouve le fichier d'image disque Docker sous macOS ?

Sur les ordinateurs Mac récents utilisant Docker Desktop, l'image disque virtuelle est enregistrée dans ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw. Sur d'anciennes installations reposant sur HyperKit, le fichier se nommait Docker.qcow2.

Pourquoi la commande docker system prune ne réduit-elle pas Docker.raw ?

La commande docker system prune supprime les conteneurs inactifs, les images orphelines et les caches de compilation à l'intérieur du système de fichiers virtuel Linux (ext4). En revanche, le système de fichiers APFS de macOS voit Docker.raw comme un fichier creux (sparse file) de taille fixe allouée. Sans commande explicite de compactage ou de TRIM, macOS ne récupère pas automatiquement les blocs physiques libérés sur le SSD.

Peut-on supprimer Docker.raw depuis le Finder sans danger ?

Oui, à condition de quitter complètement Docker Desktop au préalable. Supprimer le fichier Docker.raw réinitialise vos images locales et vos volumes Docker locaux, repartant d'une feuille blanche. Dès que vous relancez Docker Desktop, l'application recrée automatiquement un fichier neuf et compact d'environ 2 Go. Les fichiers de code source de vos projets situés sur votre Mac restent totalement intacts.

Quelle est la différence entre limite de disque virtuel et espace réel ?

Dans les réglages de Docker Desktop sous Resources, le curseur Virtual disk limit (fixé souvent à 64 Go par défaut) définit le plafond maximal que le fichier Docker.raw a l'autorisation d'atteindre sur votre SSD. Ce n'est pas le volume actuellement utilisé. Réduire cette limite empêche Docker de saturer discrètement l'intégralité de votre disque interne.

Comment DiskCompanion aide-t-il à gérer l'encombrement des outils de développement ?

L'explorateur visuel de DiskCompanion cartographie les images disques massives comme Docker.raw, les simulateurs Xcode et les caches de dépendances avec une arborescence interactive. Il permet de distinguer le volume réel du volume virtuel alloué, tout en garantissant une suppression sécurisée via la Corbeille et sans aucun processus d'arrière-plan.

DiskCompanion app icon

Libérez de l'espace disque en sécurité. Sans abonnement.

Explorez votre Mac avec la carte visuelle, effacez les caches de données système en un clic sûr et supprimez les restes d'applications. Payez $29 une fois, profitez-en à vie sur jusqu'à 3 Macs.

Notarisé par Apple 0% d'impact batterie Garantie satisfait ou remboursé 14 jours