I am Lino
26 de marzo de 2026

Instalar Docker (sin venderle tu alma al Desktop)

Publicado el 26 de marzo de 2026  •  10 minutos  • 2071 palabras
Table of contents

Hay un momento en toda carrera técnica en el que alguien te dice: “instala Docker Desktop, siguiente paso”. Tú obedeces, reinicias, aceptas tres EULAs sin leer, y al cabo de un rato tu portátil suena como un reactor y Docker Desktop decide ocupar más RAM que tu IDE, las pestañas abiertass en tu Chrome y todos tus traumas juntos.

Luego vuelves a la letra pequeña y descubres que, si tu empresa pasa cierto tamaño, Docker Desktop ni siquiera es gratis: toca licencia empresarial . Muy legítimo aunque no siempre viable, y ahí empieza la búsqueda de “quiero Docker, pero no quiero otra cosa gigantesca funcionando todo el día en segundo plano”.

La buena noticia: en 2026 no estás obligado a casarte con Docker Desktop para desarrollar en serio.

En Windows puedes usar Docker CE dentro de WSL2, y en macOS puedes tener un entorno Docker decente usando Colima (que se apoya en Lima y QEMU, sin necesidad de la app oficial). Y si echas de menos una interfaz gráfica para ver y tocar contenedores, puedes levantarte un Portainer y gestionarlo vía navegador como si fueras el SRE de un datacenter… pero sin pagar otra licencia.

¿A que suena bastante bien?


Contexto: Docker Desktop está bien… pero no es gratis ni ligero

Docker no funciona en nativo ni en Windows ni en Mac. Necesita un Linux: Docker Desktop te empaqueta una máquina virtual Linux, el demonio Docker, una interfaz bonita, integración con el sistema y varias cosillas más. Todo cómodo, todo en una sola app.

Pero lo cómodo tiene su precio:

Por eso hay tanta literatura de buenas prácticas con Docker Desktop + WSL2 donde el propio Docker te suplica que limites recursos, que uses WSL, que no pongas los proyectos en las carpetas lentas… Y por eso también han florecido alternativas “más a pelo”: usar Docker CE directamente en Linux (en nuestro caso, WSL2) o en una máquina virtual ligera tipo Colima en Mac.

La idea fundamental es sencilla:

Docker Desktop pasa a ser una opción, no un requisito.

Docker CE en WSL2: usar Docker “de verdad” en tu Linux dentro de Windows

Si ya tienes WSL2 instalado (por ejemplo con Ubuntu, como vimos en el tutorial anterior), lo que vas a hacer es tratarlo como si fuera un servidor Ubuntu normal : ahí va Docker CE.

Instalar Docker CE dentro de la distro WSL2

Abre tu Ubuntu en WSL2 y sigue, a grandes rasgos, la receta oficial de Docker para Ubuntu (adaptada a cómo está hoy la doc):

  1. Actualiza paquetes:
sudo apt update && sudo apt upgrade
  1. Instala dependencias para usar repositorios HTTPS:
sudo apt install ca-certificates curl gnupg lsb-release
  1. Añade la clave GPG de Docker y el repo (ejemplo típico):
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Instala Docker CE y amigos:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
  1. Añade tu usuario al grupo docker para no tener que usar sudo todo el rato:
sudo usermod -aG docker $USER

Cierra y vuelve a abrir la sesión de WSL, o haz un wsl --shutdown desde Windows y reabre Ubuntu para que el grupo se aplique.

Comprueba:

docker version
docker run hello-world

Si eso funciona, tienes Docker funcionando dentro de tu Linux en WSL2, sin Docker Desktop en medio. Es, en la práctica, lo mismo que tendrías en un servidor en la nube o en tu casa.

Arrancar Docker automáticamente y convivir con Windows

Por defecto, el servicio de Docker dentro de WSL suele no arrancar solo.

Para que no tengas que hacer sudo service docker start a mano cada vez, puedes usar el fichero /etc/wsl.conf que comentábamos en el anterior tutorial:

sudo nano /etc/wsl.conf

Y añadir:

[boot]
command = service docker start

Apagas WSL:

wsl --shutdown

y la próxima vez que abras tu Ubuntu, el servicio de Docker se pondrá en marcha solo.

En cuanto a puertos, piensa así:

En entornos más raros (firewalls agresivos, puertos exóticos), puede que tengas que jugar con reglas de firewall o comprobar la IP interna de WSL (ip addr) y conectar a http://<ip-wsl>:8080, pero para la mayoría de usos de “desarrollo local” el localhost compartido funciona decentemente.

Docker en macOS con Colima: Linux minimalista sin Desktop

En macOS el problema es parecido a Windows: Docker Desktop te lo da todo en uno, pero con licencias y consumo excesivo de recursos.

La alternativa es usar Colima, que monta una máquina virtual Linux ligera usando Lima (y QEMU bajo el capó), y sobre esa máquina virtual instalas/ejecutas Docker o containerd.

El procedimiento actual es algo así:

  1. Instala Homebrew si no lo tienes (no te voy a repetir el comando, pero ya sabes: /bin/bash -c "...brew...").
  2. Instala Colima y Docker CLI:
brew install colima docker
  1. Arranca Colima:
colima start

Colima crea y arranca una máquina virtual Linux minimalista con soporte para contenedores. En muchas configuraciones, ya te deja listo un entorno Docker “como si fuera nativo”: el docker CLI que instalaste con Homebrew hablará con el demonio de la máquina virtual de Colima.

Comprueba:

docker version
docker run hello-world

Si funciona, tienes Docker operativo… sin Docker Desktop. Si quieres más control, Colima acepta perfiles (CPU, RAM, etc.) en su config, pero eso ya es ajuste fino.

¿Y los puertos? Colima, igual que Docker Desktop, hace port forwarding desde la máquina virtual al host. Un docker run -p 8080:80 ... te da un servicio accesible en tu Mac en http://localhost:8080 sin tocar nada extra. Para el uso típico de desarrollo web y APIs, te vale de sobra.

“Echo de menos las ventanitas”: Portainer (u otro panel web)

Una de las cosas que mucha (o alguna) gente valora de Docker Desktop es el panel visual: ver contenedores, imágenes, redes, logs, todo con clicks. Sin la app oficial, te quedas “solo” con CLI… a no ser que montes un panel web tú mismo.

Ahí entra Portainer, que lleva años siendo el “panel de control de Docker” de facto: una aplicación web ligera que se despliega como contenedor y te permite gestionar Docker (y hasta clusters) desde el navegador.

Lo normal, tanto en WSL2 como en Colima, es levantar un container para disponer de un panel de control:

docker volume create portainer_data

docker run -d \
  -p 9443:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

Luego vas a https://localhost:9443 (en Windows: navegador del host; en Mac: igual) y sigues el asistente de configuración.

Portainer se engancha al socket de Docker del host (el de WSL o el de Colima) y te da una lista de contenedores, logs, estadísticas, gestión de imágenes, redes, volúmenes y un mínimo de RBAC y autenticación si lo necesitas.

No es tan “nativo” como el panel de Docker Desktop, pero tiene una ventaja importante: tú decides dónde se ejecuta y no añade otra capa pesada al sistema. Si un día no quieres panel gráfico, paras el contenedor y listo.

Apunte importante sobre puertos y fronteras Windows-WSL2

Te lo adelantaba antes, pero merece un subapartado: en WSL2 hay varias redes implicadas. Normalmente:

En la práctica, para desarrollo local, suele bastar con:

Si algo no funciona, comprueba lo siguiente:

Para cosas más avanzadas (exponer servicios de WSL hacia redes externas, montar reverse proxies en Windows que apunten a WSL, etc.) ya entrarías en territorio Nginx/Traefik/iptables, pero para el ciclo “navegador <-> API local”, WSL2 se porta razonablemente bien de serie.

¿Y si al final quiero Docker Desktop igualmente?

Todo esto no es un manifiesto “anti-Docker Desktop”. La propia empresa sigue recomendando su app para quienes necesitan integración muy pulida con el sistema, Kubernetes integrado, updates fáciles, etc. Es una solución sólida y, bien configurada, útil.

Lo que quiero que te lleves de este tutorial es, sobre todo, que tienes alternativas. Que si el modelo de licencias de Docker Desktop no encaja con tu empresa, no estás atrapado. Que si la app te come recursos o se cuelga más de lo que te gustaría, puedes dejar que WSL2 o Colima hagan el trabajo pesado sin esa capa extra. Y que si echas de menos un panel bonito donde hacer click en cosas, Portainer está a un docker run de distancia y corre sobre tu propio Docker, sin pedirte otra suscripción.

Al final puedes tener un entorno Docker completo, moderno y bastante ligero tanto en Windows como en macOS sin venderle tu alma a una sola aplicación de escritorio.

Y si un día te apetece volver a Docker Desktop, siempre estás a una instalación de distancia; lo importante es que la decisión sea tuya, no algo que asumes “porque todo el mundo lo hace así”.


Glosario rápido

Por si acaso tu jefe te pregunta qué acabas de instalar y necesitas sonar convincente.


Fuentes y referencias

Documentación oficial, posts del blog de Docker y algún que otro recurso de WSL. Sin vídeos de YouTube cutres, lo prometo.

Sígueme

Escribo y opino sobre tecnología, desarrollo de software y lo que se me pase por la cabeza.