En este tema conoceremos Docker Desktop, la aplicación oficial que permite usar Docker de forma sencilla en Windows y macOS. Docker Desktop es, hoy en día, la puerta de entrada más habitual al mundo de los contenedores para la mayoría de desarrolladores que no trabajan directamente sobre Linux. Reúne en una sola instalación el motor de Docker, una interfaz gráfica, herramientas de línea de comandos e incluso un Kubernetes integrado. Entender qué ofrece y cómo configurarlo te permitirá sacar el máximo partido de tu entorno de desarrollo.
Objetivos de Aprendizaje
- Comprender qué incluye Docker Desktop.
- Aprender a instalarlo en Windows y macOS.
- Conocer su integración con WSL2 en Windows.
- Entender el Kubernetes integrado, la gestión de recursos y las extensiones.
- Conocer las implicaciones de licenciamiento para empresas.
¿Qué Incluye Docker Desktop?
Docker Desktop no es una sola herramienta, sino un paquete completo que reúne todo lo necesario para empezar a trabajar con contenedores. Sus componentes principales son:
- El motor de Docker (Docker Engine): el componente que construye y ejecuta los contenedores.
- El cliente de línea de comandos: los comandos
dockerydocker composeque ya conoces. - Una interfaz gráfica (GUI): un panel visual para ver contenedores, imágenes, volúmenes y redes sin escribir comandos.
- Kubernetes integrado: un clúster de Kubernetes de un solo nodo, opcional, listo para activar.
- Sistema de extensiones: un catálogo de complementos para añadir funcionalidades.
La gran ventaja de Docker Desktop es que abstrae la complejidad de ejecutar contenedores Linux en sistemas operativos que no son Linux. Recuerda que en la lección sobre Docker Machine vimos que antes había que crear máquinas virtuales a mano; Docker Desktop hace todo eso de forma transparente.
Instalación en Windows
En Windows, la instalación sigue estos pasos generales:
- Descarga el instalador desde el sitio oficial de Docker.
- Asegúrate de tener WSL2 habilitado (lo veremos en la siguiente sección).
- Ejecuta el instalador y sigue el asistente.
- Reinicia el equipo si se solicita.
Una vez instalado, puedes comprobar que todo funciona abriendo una terminal y ejecutando:
Este comando muestra la versión instalada, confirmando que el cliente está disponible. Para una comprobación más completa:
Este comando descarga una pequeña imagen de prueba y ejecuta un contenedor que muestra un mensaje de bienvenida. Si lo ves, significa que el motor está funcionando correctamente.
Instalación en macOS
En macOS el proceso es muy similar, con una particularidad importante: existen instaladores distintos según el tipo de procesador.
| Tipo de Mac | Instalador a descargar |
|---|---|
| Apple Silicon (M1, M2, M3…) | Versión para chips Apple (ARM). |
| Intel | Versión para procesadores Intel. |
Los pasos son:
- Descarga el instalador adecuado para tu procesador.
- Abre el archivo
.dmgdescargado. - Arrastra el icono de Docker a la carpeta de Aplicaciones.
- Inicia Docker Desktop desde Aplicaciones.
Puedes verificar la instalación con los mismos comandos docker --version y docker run hello-world que vimos antes.
Integración con WSL2 en Windows
WSL2 (Windows Subsystem for Linux, versión 2) es una característica de Windows que permite ejecutar un kernel real de Linux dentro de Windows. Docker Desktop aprovecha WSL2 para correr el motor de Docker de forma eficiente.
Las ventajas de esta integración son:
- Mejor rendimiento: los contenedores se ejecutan sobre un kernel Linux real, no sobre una máquina virtual pesada y lenta.
- Integración con el sistema de archivos: puedes acceder a tus archivos desde Linux y Windows con buena velocidad.
- Uso desde distribuciones Linux: si tienes instalada una distribución como Ubuntu en WSL2, puedes usar los comandos
dockerdirectamente dentro de ella.
Para que tus distribuciones de WSL2 puedan usar Docker, debes activar la integración en la configuración de Docker Desktop:
Ahí encontrarás una lista de tus distribuciones instaladas, donde puedes activar la integración para cada una. Una vez activada, al abrir tu terminal de Ubuntu podrás ejecutar:
Y verás los mismos contenedores que gestionas desde Windows, porque ambos comparten el mismo motor.
Kubernetes Integrado
Docker Desktop incluye un clúster de Kubernetes de un solo nodo que puedes activar con un clic. Esto es muy útil para aprender y probar Kubernetes en local sin tener que montar un clúster real.
Para activarlo:
Tras unos minutos, Kubernetes estará listo. Podrás comprobarlo con la herramienta kubectl, que Docker Desktop instala por ti:
La salida mostraría un único nodo, por ejemplo:
Esto significa que tienes un Kubernetes funcional en tu propio equipo, ideal para experimentar con los manifiestos que vimos en la lección anterior.
Gestión de Recursos
Como los contenedores se ejecutan sobre una capa de virtualización ligera, Docker Desktop te permite controlar cuántos recursos del equipo puede consumir. Esto se configura en:
Los parámetros más importantes son:
| Recurso | Qué controla |
|---|---|
| CPUs | Número de núcleos de procesador disponibles para Docker. |
| Memoria | Cantidad máxima de RAM que pueden usar los contenedores. |
| Disco | Espacio reservado para imágenes, contenedores y volúmenes. |
| Swap | Memoria de intercambio adicional. |
Ajustar bien estos valores es importante: si das demasiados recursos a Docker, tu sistema operativo puede ralentizarse; si das demasiado pocos, tus contenedores pueden fallar por falta de memoria.
Extensiones
Docker Desktop dispone de un catálogo de extensiones que amplían sus funcionalidades sin salir de la aplicación. Algunas categorías de extensiones son:
- Herramientas de visualización y gestión de contenedores.
- Análisis de seguridad de imágenes.
- Gestión de bases de datos en contenedores.
- Depuración y registro (logging) avanzados.
Las extensiones se instalan desde la pestaña Extensions de la propia interfaz, lo que hace muy cómodo probar nuevas herramientas. Veremos algunas herramientas de terceros relacionadas en la siguiente lección.
Licenciamiento para Empresas
Este es un punto importante que conviene conocer. Docker Desktop es gratuito para uso personal, educativo, proyectos de código abierto y pequeñas empresas. Sin embargo, las organizaciones grandes requieren una suscripción de pago.
Las condiciones generales suelen ser las siguientes (conviene siempre consultar los términos oficiales actualizados, ya que pueden cambiar):
| Tipo de uso | ¿Requiere suscripción de pago? |
|---|---|
| Uso personal o aprendizaje | No. |
| Proyectos de código abierto | No. |
| Empresas pequeñas (por debajo de cierto tamaño) | No. |
| Empresas grandes (por encima de cierto umbral) | Sí. |
Aviso: las condiciones de licenciamiento de Docker Desktop pueden cambiar con el tiempo. Si trabajas en una empresa, esta información tiene implicaciones contractuales y económicas; conviene verificar los términos oficiales vigentes y consultar con el departamento correspondiente antes de desplegarlo de forma generalizada.
Por este motivo, algunas organizaciones optan por alternativas, varias de las cuales veremos en la próxima lección.
Errores Comunes y Consejos
- No tener WSL2 habilitado en Windows: es un requisito habitual. Si Docker Desktop no arranca, comprueba primero la configuración de WSL2.
- Asignar muy poca memoria: si tus contenedores se cierran inesperadamente, revisa el límite de RAM en Settings -> Resources.
- Olvidar activar la integración WSL para tu distribución: si
dockerno funciona dentro de tu Ubuntu de WSL2, casi siempre es porque falta activar esa integración. - Asumir que Docker Desktop siempre es gratis en la empresa: revisa el licenciamiento. Para grandes organizaciones puede requerir suscripción.
- Consejo: activa el Kubernetes integrado solo cuando lo necesites, ya que consume recursos adicionales del equipo.
Ejercicios
Ejercicio 1
Enumera al menos cuatro componentes que incluye Docker Desktop y explica brevemente para qué sirve cada uno.
Ejercicio 2
Explica qué es WSL2 y por qué es importante para el funcionamiento de Docker Desktop en Windows. Indica también dónde se activa la integración con una distribución concreta.
Ejercicio 3
Una empresa grande quiere instalar Docker Desktop en los equipos de todo su departamento de desarrollo. ¿Qué debe tener en cuenta respecto al licenciamiento y por qué?
Soluciones
Solución al Ejercicio 1
Cuatro componentes posibles:
- Motor de Docker: construye y ejecuta los contenedores.
- Cliente de línea de comandos: ofrece los comandos
dockerydocker compose. - Interfaz gráfica: permite gestionar contenedores, imágenes y volúmenes de forma visual.
- Kubernetes integrado: proporciona un clúster local de un nodo para aprender y probar.
(También sería válido mencionar el sistema de extensiones.)
Solución al Ejercicio 2
WSL2 (Windows Subsystem for Linux 2) es una característica de Windows que ejecuta un kernel real de Linux dentro del sistema. Es importante porque Docker Desktop lo usa para correr el motor de Docker de forma eficiente, con buen rendimiento y sin necesidad de una máquina virtual pesada. La integración con una distribución concreta se activa en Settings -> Resources -> WSL Integration.
Solución al Ejercicio 3
Debe tener en cuenta que Docker Desktop es gratuito para uso personal, educativo, código abierto y pequeñas empresas, pero las organizaciones grandes requieren una suscripción de pago. Por tanto, antes de instalarlo de forma generalizada, la empresa debe verificar los términos oficiales vigentes y adquirir las licencias necesarias, ya que tiene implicaciones contractuales y económicas. Esta información debería validarse con el departamento correspondiente.
Conclusión
En esta lección hemos visto cómo Docker Desktop reúne en una sola aplicación el motor de Docker, una interfaz gráfica, herramientas de línea de comandos, un Kubernetes integrado y un sistema de extensiones, simplificando enormemente el trabajo con contenedores en Windows y macOS. También hemos aprendido a instalarlo, a aprovechar la integración con WSL2, a gestionar los recursos del equipo y hemos comprendido las implicaciones de su licenciamiento para empresas. En la siguiente lección ampliaremos nuestro horizonte conociendo las Herramientas y Plugins de Terceros que enriquecen el ecosistema de Docker.
Docker: De Principiante a Avanzado
Módulo 1: Introducción a Docker
- ¿Qué es Docker?
- Instalando Docker
- Arquitectura de Docker
- Comandos Básicos de Docker
- Entendiendo las Imágenes de Docker
- Creando tu Primer Contenedor Docker
Módulo 2: Trabajando con Imágenes Docker
- Docker Hub y Repositorios
- Construyendo Imágenes Docker
- Conceptos Básicos de Dockerfile
- Gestionando Imágenes Docker
- Etiquetado y Publicación de Imágenes
Módulo 3: Contenedores Docker
- Ejecutando Contenedores
- Ciclo de Vida del Contenedor
- Gestionando Contenedores
- Redes en Docker
- Persistencia de Datos con Volúmenes
Módulo 4: Docker Compose
- Introducción a Docker Compose
- Definiendo Servicios en Docker Compose
- Comandos de Docker Compose
- Aplicaciones Multi-Contenedor
- Variables de Entorno en Docker Compose
Módulo 5: Conceptos Avanzados de Docker
- Profundización en Redes Docker
- Opciones de Almacenamiento Docker
- Mejores Prácticas de Seguridad en Docker
- Optimizando Imágenes Docker
- Registro y Monitoreo en Docker
Módulo 6: Docker en Producción
- CI/CD con Docker
- Orquestando Contenedores con Docker Swarm
- Introducción a Kubernetes
- Desplegando Contenedores Docker en Kubernetes
- Escalado y Balanceo de Carga
