Cómo usar Docker Desktop en MacBook con Apple Silicon sin que se ralentice
Si trabajas con contenedores en un MacBook con Apple Silicon, ya sabes que Docker Desktop no siempre va fino. Arranca lento, se come la RAM, el ventilador se activa cuando construyes una imagen medianamente grande y, si tu imagen es linux/amd64, la cosa empeora. Esta guía va de eso: cómo dejar Docker Desktop usable en un Mac M1, M2 o M3, qué ajustes tocar, cuándo aceptar que Docker no es la mejor opción y qué alternativas merecen la pena.
Todo lo que viene está probado en macOS Sequoia 15.1 con Docker Desktop 4.35 sobre un MacBook Pro M3 Pro de 18 GB de RAM y un MacBook Air M2 de 16 GB. Los principios aplican igual a M1.
Por qué Docker Desktop va lento en Apple Silicon
Docker no corre de forma nativa en macOS. Nunca lo ha hecho. Docker necesita un kernel Linux, y macOS no lo tiene. Lo que hace Docker Desktop es levantar una máquina virtual Linux ligera usando el framework de virtualización de Apple (Virtualization.framework en Apple Silicon) y ejecutar el daemon de Docker dentro.
Eso significa dos cosas: hay una capa de virtualización constante y hay un puente entre tu sistema de archivos macOS y el sistema de archivos de la VM. Ese puente ha sido históricamente el gran cuello de botella.
Añade a la ecuación las imágenes linux/amd64. Tu Mac es ARM64. Si arrancas un contenedor x86_64, Docker lo emula vía Rosetta 2 o QEMU. Emular una arquitectura entera tiene un coste: entre un 30% y un 60% de rendimiento perdido según la carga.
Requisitos previos
- macOS 13 Ventura o superior (Sequoia recomendado para VirtioFS estable).
- Docker Desktop 4.25 o superior. La 4.35 trae mejoras notables en el gestor de recursos.
- Mac con chip M1, M2, M3 (o superiores) y mínimo 16 GB de RAM si vas a trabajar con más de dos contenedores a la vez.
- Rosetta 2 instalado:
softwareupdate --install-rosetta --agree-to-license.
Instalar Docker Desktop en Mac Apple Silicon
Descarga el instalador de Apple Silicon desde docker.com. Ojo: hay dos builds, la de Intel y la de Apple Silicon. Si te bajas la de Intel por error, todo va a ir a través de Rosetta y perderás rendimiento sin motivo.
Arrastra la app a /Applications, ábrela, acepta los permisos de red privilegiada y espera a que el ballenato aparezca en la barra de menús.
Ajustes clave para que Docker no se ralentice
Aquí está el 80% del artículo. Estos son los ajustes que marcan la diferencia real.
Activar VirtioFS como sistema de archivos
VirtioFS es lo que sustituyó a gRPC-FUSE. Es entre 2x y 5x más rápido leyendo y escribiendo en volúmenes montados desde macOS. Y ahora es el valor por defecto, pero si vienes de una instalación antigua puede que sigas con gRPC-FUSE.
Ruta: Docker Desktop → Settings → General → Virtual Machine Options → VirtioFS.
Reinicia Docker después de cambiarlo. Notarás la diferencia en cualquier proyecto Node, PHP o Python que monte node_modules o vendor desde tu carpeta local.
Usar el nuevo Virtualization Framework de Apple
En la misma pantalla, marca Use Virtualization framework (el de Apple, no QEMU). Es el que aprovecha la aceleración por hardware del chip M.
Y justo debajo, activa Use Rosetta for x86_64/amd64 emulation. Esto sustituye la emulación QEMU por Rosetta 2 cuando ejecutes imágenes amd64. La mejora en imágenes x86_64 es brutal: en pruebas con contenedores de MySQL 8 amd64, el arranque baja de 40 segundos a menos de 15.
Ajustar recursos de CPU, memoria y disco
Ruta: Settings → Resources → Advanced.
Por defecto Docker Desktop se asigna una fracción conservadora. En un Mac de 16 GB, sube la memoria a 8 GB si vas a trabajar con bases de datos. En uno de 18 GB o más, entre 8 y 10 GB. No pases del 50% de la RAM total: macOS necesita respirar.
CPU: deja al menos 2 núcleos libres para el sistema. En un M3 Pro de 12 núcleos, asigna 8 a Docker sin problema.
Disco: el disco virtual crece a demanda. Ponle un tope razonable (64 GB suele bastar) y purga imágenes viejas con docker system prune -a cada dos semanas.
Desactivar features que no usas
En Settings → General, desmarca Send usage statistics, Open Docker Dashboard at startup si no lo necesitas, y SBOM indexing si no analizas vulnerabilidades. Cada uno consume ciclos.
En Settings → Kubernetes, deja desactivado Kubernetes salvo que lo uses de verdad. Un cluster K8s local se come 2 GB de RAM aunque no hagas nada.
Trabajar con imágenes ARM64 siempre que puedas
La forma más rápida de que Docker vuele en tu Mac es no emular nada. Muchas imágenes oficiales tienen ya builds linux/arm64: PostgreSQL, Redis, Nginx, Node, Python, Ruby, Go, la mayoría de bases de datos modernas.
Comprueba las arquitecturas disponibles antes de hacer pull:
docker manifest inspect postgres:16 | grep architecture
Si ves arm64, tira de ahí sin forzar plataforma. Si solo hay amd64, entonces sí necesitas Rosetta.
Para forzar una plataforma concreta:
docker run --platform linux/arm64 postgres:16
docker run --platform linux/amd64 mysql:5.7
En tu docker-compose.yml, añade platform: linux/arm64 en cada servicio para evitar sorpresas.
Cuándo Rosetta 2 salva la partida y cuándo no
Rosetta 2 va bien para binarios estáticos y aplicaciones que hacen cálculo de propósito general. Para bases de datos antiguas, herramientas legacy o imágenes corporativas que solo existen en amd64, activar Rosetta te saca del apuro.
Donde Rosetta sigue flojeando: cargas con mucha I/O intensiva, JVMs antiguas (Java 8 amd64 puede petar) y algunos binarios que hacen syscalls exóticas. Si un contenedor amd64 te da errores raros con Rosetta activo, prueba a desactivarlo y volver a QEMU solo para ese caso.
Optimizar el uso de volúmenes
El montaje de carpetas de macOS dentro del contenedor sigue siendo la operación más cara, incluso con VirtioFS. Tres reglas:
- No montes
node_modules,vendoro.gitsi puedes evitarlo. Usa volúmenes nombrados de Docker para esos directorios: viven dentro de la VM y son órdenes de magnitud más rápidos. - Usa
:delegatedo:cacheden montajes que no necesiten consistencia estricta. En VirtioFS el impacto es menor que antes, pero sigue existiendo. - Evita watchers de archivos masivos. Si tu framework recompila cada vez que cambias un fichero, limita las rutas vigiladas.
Ejemplo de volumen nombrado para node_modules:
services:
app:
build: .
volumes:
- .:/app
- node_modules:/app/node_modules
volumes:
node_modules:
Alternativas a Docker Desktop en Mac
Docker Desktop no es la única opción, y en algunos casos ni siquiera la mejor. Tres alternativas serias:
OrbStack
OrbStack es lo más parecido a "Docker Desktop pero rápido". Consume menos RAM (arranca con unos 400 MB frente a los 1,5 GB de Docker Desktop), inicia en 2-3 segundos y usa su propia implementación de virtualización sobre Apple Silicon. Compatible con la CLI de Docker sin cambios.
Cuesta 8 dólares al mes para uso comercial, gratis para uso personal. Si trabajas todo el día con contenedores, se paga solo en batería ahorrada.
Colima
Colima es gratis, open source y funciona por línea de comandos. Levanta una VM Linux con Lima y expone un socket de Docker. Cero interfaz gráfica.
Instalación:
brew install colima docker
colima start --cpu 4 --memory 8 --vm-type vz --vz-rosetta
El flag --vz-rosetta activa Rosetta para amd64. Ideal si vives en el terminal y no quieres una app corriendo permanentemente.
Podman
Podman es el enfoque de Red Hat: daemonless, rootless, compatible con la CLI de Docker mediante alias. En Apple Silicon funciona bien pero su ecosistema de imágenes y su integración con herramientas como docker-compose sigue siendo menos pulida.
Bueno si vienes de entornos RHEL o quieres alinearte con producción en Kubernetes/OpenShift.
Comandos útiles para diagnosticar rendimiento
Ver qué contenedor se está comiendo los recursos:
docker stats
Ver el tamaño real de imágenes, contenedores y volúmenes:
docker system df
Limpiar todo lo que no está en uso (cuidado, borra imágenes sin contenedor asociado):
docker system prune -a --volumes
Problemas comunes y cómo resolverlos
Docker Desktop no arranca tras actualizar macOS. Reinicia el servicio: killall Docker && open /Applications/Docker.app. Si persiste, ve a Troubleshoot → Reset to factory defaults.
El ventilador se dispara al construir imágenes. Reduce la CPU asignada a Docker en Settings → Resources. Si sigue igual, revisa si tu Dockerfile tiene RUN con procesos que paralelizan (npm install, cargo build).
Los volúmenes montados van lentísimos. Verifica que VirtioFS está activo y considera mover directorios pesados a volúmenes nombrados.
Un contenedor amd64 no arranca. Comprueba que Rosetta está instalado (arch -x86_64 uname -m debería devolver x86_64). Si aún falla, ese binario concreto no es compatible con Rosetta 2; usa QEMU desactivando la opción de Rosetta.
Docker Desktop consume 3 GB de RAM en reposo. Es normal en versiones antiguas. Actualiza a 4.30 o superior; el gestor de memoria dinámico devuelve RAM al sistema cuando no hay contenedores activos.
FAQ
¿Puedo usar Docker Desktop gratis para trabajo? No, si trabajas en una empresa de más de 250 empleados o con más de 10 millones de dólares de facturación anual. Para uso personal, educación y startups pequeñas, sí. Consulta la licencia oficial de Docker.
¿Merece la pena pasarse a OrbStack? Si usas contenedores a diario y te molesta el consumo de Docker Desktop, sí. Para uso esporádico, Docker Desktop cumple.
¿Rosetta 2 emula perfectamente cualquier imagen amd64? No. Cubre la mayoría de casos, pero binarios muy específicos (JVMs viejas, herramientas con SIMD complejas) pueden fallar. QEMU es el plan B.
¿Se puede correr Kubernetes en un Mac M3 sin morir? Sí, pero mejor con minikube o k3d que con el Kubernetes integrado de Docker Desktop. Ambos son más ligeros. Si necesitas un entorno completo tipo desarrollo con Windows y Linux a la vez, te puede interesar echar un ojo a cómo instalar Windows 11 ARM en un Mac M3 con Parallels Desktop 20.
¿Cuánta RAM necesito realmente para trabajar con Docker cómodo? 16 GB es el mínimo decente. 24 GB o más si tu stack incluye base de datos, backend, frontend y algún servicio auxiliar simultáneamente. Si estás pensando en cambiar de equipo, mira la comparativa entre MacBook Pro M4 Pro y M4 Max antes de decidir.
macOS Software #Apple Silicon #desarrollo #Docker #macbook #rendimiento
Comentarios cerrados

Cómo transferir fotos de tu iPhone a tu PC Windows o Mac
iOS 17: Novedades, trucos y consejos para aprovechar al máximo tu dispositivo
La revolución del M2: Análisis detallado del nuevo chip de Apple