3enweb

Solo apto para desarrolladores

Te entregamos el servicio que necesites en un docker.

Pídenos un cluster de kubernetes tu eliges.

Normalmente, trabajamos con ubuntu, pero... escuchamos sugerencias.

Docker en Windows: Una Guía Completa para Desarrolladores

Docker se ha convertido en una herramienta esencial en el mundo del desarrollo de software, y su uso en Windows ha crecido exponencialmente. Si eres un desarrollador que trabaja en un entorno Windows y quieres aprovechar las ventajas de la contenerización, esta guía te proporcionará una visión completa de cómo funciona Docker en Windows, qué opciones tienes disponibles y cómo empezar a utilizarlo.

Dos Sabores de Contenedores Docker en Windows

Es fundamental comprender que existen dos formas de ejecutar contenedores Docker en Windows:

  1. Contenedores de Windows Server:

    • Estos contenedores comparten el kernel del sistema operativo host (Windows Server o Windows 10/11).
    • Ofrecen un mayor grado de aislamiento que los procesos normales, pero menor que una máquina virtual completa.
    • Son ideales para ejecutar aplicaciones .NET Framework tradicionales, servicios de Windows y otras aplicaciones diseñadas específicamente para Windows Server.
    • Se ejecutan de forma nativa en Windows Server 2016 y versiones posteriores, así como en Windows 10/11 Professional y Enterprise.
  2. Contenedores de Linux (a través de WSL 2 o una VM de Hyper-V):

    • Ejecutan contenedores Linux dentro de una máquina virtual ligera y optimizada.
    • Docker Desktop utiliza WSL 2 (Subsistema de Windows para Linux 2) en Windows 10/11 (recomendado). WSL 2 proporciona un entorno Linux completo integrado en Windows, con un rendimiento excelente gracias a su estrecha integración con el kernel de Windows.
    • En versiones anteriores de Windows o si no tienes WSL 2, Docker Desktop puede usar una VM de Hyper-V.
    • Esta es la forma más común de ejecutar Docker en Windows, ya que permite acceder al vasto ecosistema de contenedores Linux.

Docker Desktop para Windows: Tu Puerta de Entrada a Docker en Windows

Docker Desktop es la forma más fácil y recomendada de empezar con Docker en Windows. Es una aplicación que incluye todo lo que necesitas:

  • Docker Engine: El motor que ejecuta y gestiona los contenedores.
  • Docker CLI: La interfaz de línea de comandos para interactuar con Docker.
  • Docker Compose: Una herramienta para definir y ejecutar aplicaciones multi-contenedor.
  • Integración con WSL 2 (o Hyper-V): Para ejecutar contenedores Linux.
  • Kubernetes (opcional): Docker Desktop puede instalar un clúster de Kubernetes local de un solo nodo para desarrollo y pruebas.
  • Interfaz Gráfica: Una interfaz gráfica amigable para gestionar tus contenedores, imágenes y volúmenes.

Instalación de Docker Desktop en Windows

  1. Requisitos Previos:

    • Windows 10/11 Pro, Enterprise o Education (64 bits), versión 1903 o superior, con la actualización de mayo de 2020 o posterior para usar WSL 2.
    • Para versiones anteriores a WSL 2, se necesita la función Hyper-V y Containers de Windows.
    • Virtualización habilitada en la BIOS.
    • 4 GB de RAM como mínimo (se recomiendan 8 GB o más).
  2. Descarga:

    Descarga el instalador de Docker Desktop desde la página oficial de Docker.
  3. Instalación:

    Ejecuta el instalador y sigue las instrucciones en pantalla. Durante la instalación, se te preguntará si quieres usar WSL 2 (recomendado) o Hyper-V. Si tienes Windows 10/11 con la actualización requerida, elige WSL 2.
  4. Reinicia:

    Después de la instalación, es posible que se te pida que reinicies tu sistema.
  5. Verificación:

    Una vez reiniciado, Docker Desktop se iniciará automáticamente. Puedes verificar que está funcionando correctamente buscando el icono de la ballena en la bandeja del sistema. También puedes abrir una ventana de PowerShell o el Símbolo del sistema y ejecutar el comando docker version.

Usando Docker en Windows (Ejemplo con WSL 2):

Una vez que Docker Desktop está instalado y funcionando, puedes empezar a usar Docker desde la línea de comandos. Aquí tienes un ejemplo básico para ejecutar un contenedor Linux:

  1. Abre PowerShell o la terminal de WSL 2 (Ubuntu, por ejemplo).
  2. Ejecuta el siguiente comando:
          
    docker run -d -p 80:80 nginx:latest
          
        
    Este comando hace lo siguiente:
    • docker run: Ejecuta un nuevo contenedor.
    • -d: Ejecuta el contenedor en segundo plano (detached).
    • -p 80:80: Mapea el puerto 80 del host al puerto 80 del contenedor.
    • nginx:latest: Utiliza la imagen oficial de Nginx, versión latest.
  3. Abre tu navegador web y ve a http://localhost. Deberías ver la página de bienvenida de Nginx.

Diferencias Clave y Consideraciones:

  • Rendimiento: Los contenedores de Linux en WSL 2 generalmente ofrecen un mejor rendimiento que en una VM de Hyper-V tradicional, especialmente en operaciones de I/O de archivos.
  • Acceso al Sistema de Archivos: Con WSL 2, puedes acceder fácilmente a tus archivos de Windows desde dentro de los contenedores Linux y viceversa a través de la ruta /mnt/c/ (para tu disco C:), etc.
  • Redes: La configuración de redes puede ser un poco más compleja en Windows, especialmente cuando se trabaja con contenedores de Windows Server. Asegúrate de entender cómo funcionan las redes de Docker y cómo configurar el acceso a los puertos correctamente.
  • Imágenes Base: Si desarrollas aplicaciones .NET, asegúrate de usar las imágenes base correctas de Windows Server (mcr.microsoft.com/windows/servercore o mcr.microsoft.com/windows/nanoserver) para tus contenedores de Windows.

Conclusión:

Docker en Windows ofrece una potente plataforma para el desarrollo, las pruebas y el despliegue de aplicaciones. Con Docker Desktop y WSL 2, puedes aprovechar lo mejor de ambos mundos: la familiaridad de Windows y el vasto ecosistema de contenedores Linux. Esta guía te proporciona los fundamentos para empezar a usar Docker en Windows. A medida que te adentres en el mundo de la contenerización, te animo a explorar la documentación oficial de Docker y a experimentar con diferentes configuraciones para encontrar la que mejor se adapte a tus necesidades. ¡Feliz Contenerización!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio