Docker Desktop vs Colima: cuál usar y por qué
Cuando Docker Desktop cambió su modelo de licencia en 2022, muchos de nosotros empezamos a buscar alternativas. La pregunta era simple pero incómoda: ¿por qué pagar $14/mes por un CLI de contenedores cuando hay opciones gratuitas?
Colima apareció como respuesta. Es gratis, es ligero, y funciona excelente en Apple Silicon. Pero ¿reemplaza a Docker Desktop? Depende de lo que hagas.
Qué es Colima
Colima (Container LimaVM) es un wrapper alrededor de Lima, una máquina virtual Linux hecha por Apple que está optimizada para correr en Silicon. Colima hace que Lima sea ergonómica: en lugar de configurar manualmente una VM Linux, Colima te deja hacer:
colima start
Y tienes un daemon Docker corriendo en una VM Linux transparente, accesible desde tu Mac como si fuera local. El daemon usa containerd por debajo (el mismo runtime que Kubernetes usa internamente), pero expone la API de Docker para compatibilidad.
Bajo el capó: colima levanta una VM Linux con recursos compartidos (CPU, memoria, filesystem), monta tu home directory dentro de la VM, y expone el socket de Docker a tu host.
Comparativa: Docker Desktop vs Colima
| Aspecto | Docker Desktop | Colima |
|---|---|---|
| Licencia | Pago para empresas > 250 empleados | Gratis (open source) |
| Precio | $14/mes o $132/año | $0 |
| Performance en Apple Silicon | ~95% del máximo (overhead del runtime) | ~98% (más ligero) |
| GUI/Dashboard | Sí, muy pulida | No, solo CLI |
| Soporte oficial | Docker, Inc. (SLA disponible) | Comunidad + Apple (Lima) |
| Kubernetes local | Docker Desktop K8s (simple) | Kind/minikube solo (necesitas otra herramienta) |
| Integración IDE | VS Code, IntelliJ, etc. | Manual, pero funciona |
| Compatibilidad con plugins | Extensiones de Docker Desktop | No |
| Consumo de recursos | 2-3 GB RAM dedicados | 1-1.5 GB RAM (configurable) |
| Estabilidad en Silicon | Excelente | Excelente |
Cuándo Docker Desktop sigue siendo mejor
1. Necesitas Kubernetes local: Docker Desktop incluye un Kubernetes de un click. Para Colima, necesitas kind o minikube. Si trabajas con Kubernetes todos los días y quieres simplicidad, Docker Desktop gana.
2. Tu empresa paga: Si trabajas para una consultora o empresa grande, el costo es irrelevante. El soporte oficial y la GUI pueden valer la pena.
3. Usas extensiones de Docker: Si confías en extensiones como Docker Scout, Docker Build Cloud, o extensiones de terceros, Docker Desktop es el único camino.
4. No quieres troubleshoot: Docker Desktop “just works” para la mayoría. Colima tiene más configuración manual. Si tu tiempo vale mucho, Docker Desktop es inversión.
Cuándo Colima gana
1. Solo desarrollo individual: Un ingeniero solo trabajando en su Mac, sin empresa grande respaldándolo. Colima es gratis, más ligero, y funciona.
2. Mac con Apple Silicon limitada en RAM: Un M1 con 8GB RAM es apretado para Docker Desktop + VS Code + Slack. Colima usa ~1.5GB. Es la diferencia entre laggy y smooth.
3. Quieres control total: Puedes tweakear la configuración de Colima (CPU, memoria, volúmenes) editando un archivo YAML. Docker Desktop oculta estos detalles.
4. Multi-contenedor en desarrollo: Si desarrollas una app con 10+ contenedores (app + DB + cache + message queue + etc.), Colima + Docker Compose es excelente y gratis.
Configuración básica de Colima
Si decides intentar Colima:
Instalación:
brew install colima
Inicia Colima:
colima start
Por defecto, asigna 2 CPUs y 2GB RAM. Si necesitas más:
colima start --cpu 4 --memory 8
Verifica que funciona:
docker run --rm alpine echo "hola desde Colima"
Configuración persistente (edita ~/.colima/default/colima.yaml):
cpu: 4
memory: 8
disk: 100
Luego reinicia:
colima restart
Casos edge: Kubernetes local
Docker Desktop: colima start --kubernetes… espera, eso no existe. Tienes que usar otra herramienta.
Con Colima + kind:
# Instala kind
brew install kind
# Crea un cluster
kind create cluster --name dev
# Verifica
kubectl get nodes
Kind en Colima es excelente y muy rápido. Pero requiere conocimiento extra de Kubernetes. Si eres SRE o trabajas en la cloud native, esto es trivial. Si eres frontend desarrollando una pequeña API, Docker Desktop K8s es más simple.
Con Colima + minikube:
# Instala minikube
brew install minikube
# Usa Colima como driver
minikube start --driver=colima
Funciona, pero la documentación de minikube no asume esto, así que a veces hay sorpresas.
La migración es suave
Si tienes Docker Desktop y quieres intentar Colima:
# Apaga Docker Desktop
# (Menú > Quit Docker Desktop)
# Instala y comienza Colima
brew install colima
colima start
# Verifica
docker ps
Tu docker CLI ya está conectado a Colima. Los contenedores que tenías en Docker Desktop siguen existiendo en Docker Desktop y no viajan automáticamente, pero puedes hacer export/import o simplemente rebuild.
Conclusión
No hay respuesta universal. Pero aquí está la regla práctica:
- Empresa, quieres soporte, y necesitas Kubernetes local: Docker Desktop.
- Desarrollo solo, Mac con Silicon limitado, quieres ahorrar dinero y no necesitas K8s polished: Colima.
- SRE que necesita tocar K8s: Colima + kind. Punto.
Colima no es una “downgrade” de Docker Desktop. Es una alternativa que hace diferentes trade-offs. Es más ligera, más barata, y más transparent en cómo funciona. Docker Desktop es más pulida, más soportada, y más simple para principiantes.
Prueba Colima por una semana. Si extrañas la GUI, vuelve. Si te sientes más libre con la CLI, quédate.
¿Cuál usas tú? ¿Por qué?