Guías de Levo · Desarrolladores: todo lo demás

Docker ocupa demasiado espacio en disco en el Mac

Docker en un Mac guarda todo en un único archivo grande de disco virtual, Docker.raw, que crece pero no se reduce solo. Ejecuta docker system df para ver qué lo usa y luego docker system prune y docker builder prune para liberarlo.

La lista Ready to free de Levo con imágenes de Docker y caché de compilación, cada una con su tamaño y un motivo
QuéCómo verlo¿Se puede borrar?
Contenedores detenidosdocker ps -aSí, salvo que necesites lo que hay dentro de alguno
Imágenes sin usardocker imagesSí, se descargan o se reconstruyen cuando hacen falta
Caché de compilacióndocker builder duSí, la siguiente compilación es más lenta
Volúmenesdocker volume lsCuidado. Aquí vive una base de datos
El archivo de disco~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.rawNunca a mano

Por qué Docker.raw es tan grande

Los contenedores se ejecutan en una pequeña máquina virtual Linux, y el disco de esa máquina es un único archivo en tu Mac. Docker Desktop fija un tamaño máximo, a menudo de 60 GB o más, y el archivo crece hacia él a medida que descargas imágenes y compilas. En Finder puede parecer mucho más grande de lo que es, porque es un archivo disperso: ls -lh muestra el máximo y du -sh muestra lo que se usa de verdad.

El problema es que borrar imágenes libera espacio dentro de la máquina virtual, pero el archivo de tu Mac no se reduce de inmediato. Las versiones recientes de Docker Desktop devuelven a macOS los bloques liberados, pero en configuraciones antiguas o tras mucho movimiento puede que tengas que cambiar el tamaño del disco o restablecerlo desde Settings › Resources.

Cómo hacerlo tú mismo

Mira qué usa el espacio

docker system df
docker system df -v

El primer comando da los totales de imágenes, contenedores, volúmenes y caché de compilación, con una columna RECLAIMABLE. El segundo lista cada uno. La caché de compilación es la silenciosa: tras unas semanas de compilaciones suele ser la línea más grande.

Libéralo

docker container prune
docker image prune -a
docker builder prune
docker system prune

Los volúmenes son donde viven las bases de datos, los archivos subidos y todo lo que tu archivo compose monte en un volumen con nombre. docker system prune --volumes quita todos los volúmenes que ningún contenedor use en ese momento, incluido el de Postgres del proyecto que abrirás la semana que viene. Lístalos con docker volume ls y quita uno a uno con docker volume rm <name> tras comprobarlo.

Devuelve el espacio a macOS

Después de limpiar, vuelve a comprobar el tamaño real.

du -sh ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

Si sigue siendo enorme, abre Docker Desktop, ve a Settings › Resources y baja el Virtual disk limit, o elige Troubleshoot › Clean / Purge data para empezar de cero. La segunda opción borra todas tus imágenes, contenedores y volúmenes. No arrastres Docker.raw a la Papelera con Docker en marcha: pierdes todo lo que contiene y puedes dañar la máquina virtual.

OrbStack, Colima y Podman

Los mismos comandos funcionan, porque todos hablan la API de Docker. Lo que cambia es dónde está el disco.

Si ya no usas Docker en absoluto, consulta cómo desinstalar Docker en un Mac. Para ver mejor el resto de tus herramientas, está la limpieza del disco para desarrolladores.

Cómo lo hace Levo

Levo muestra las imágenes de Docker y la caché de compilación como tipos propios en Ready to free, con tamaños y motivos. Las encuentra con su índice en vivo de tu disco, así que las ves sin ejecutar ningún comando y sin tener que recordar cuál de los cuatro comandos prune usar.

Tu agente juzga qué es seguro. Las imágenes que nada usa y la caché de compilación son candidatas habituales. Los volúmenes pueden guardar datos que no podrás recuperar, así que míralos tú, y Levo nunca limpia nada que esté en uso. El agente solo lee, y Levo hace el borrado tras volver a comprobar.

Eliges un nivel de limpieza, marcas lo que se va y pulsas Clean up. Si desinstalas Docker Desktop con Levo, el paso de confirmación enumera sus restos grandes para que los veas antes de que desaparezcan. Consulta Levo para desarrolladores web. Dos limpiezas son gratis y después hay una licencia de por vida.

Preguntas frecuentes

¿Es seguro ejecutar docker system prune?

Sí para contenedores, redes, imágenes huérfanas y caché de compilación, pero la siguiente compilación será más lenta y algunas imágenes se descargarán de nuevo. Deja los volúmenes en paz salvo que añadas --volumes, que es la opción con la que hay que tener cuidado.

¿Por qué Docker.raw sigue siendo enorme después de borrar imágenes?

El archivo es disperso y no siempre se reduce cuando se libera espacio dentro de la máquina virtual. Comprueba el tamaño real con du -sh. Si sigue siendo grande, baja el límite del disco virtual en los ajustes Resources de Docker Desktop o purga sus datos.

¿Puedo borrar Docker.raw?

Solo desde el menú Troubleshoot de Docker Desktop con Docker en marcha, o tras cerrarlo y desinstalarlo. Borrar el archivo a mano elimina todas las imágenes, contenedores y volúmenes que contiene.

¿Cuánto espacio necesita Docker en un Mac?

Depende de lo que ejecutes. Calcula de 20 a 60 GB si compilas muchas imágenes. El límite del disco virtual en Docker Desktop fija el techo.

¿OrbStack usa menos disco que Docker Desktop?

Normalmente sí, porque crece y se reduce bajo demanda y comparte archivos con macOS. Aun así guarda imágenes, caché de compilación y volúmenes, así que docker system df y prune también se aplican ahí.