Programacion

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en Windows tiene algunas características especiales que deberás conocer.

¿Cómo funciona Docker en Windows?

Como ya comenté en la entrada general para aprender docker, Docker aprovecha una serie de características del Kernel de Linux para conseguir seguridad y aislamiento de cada contenedor. Esto no lo soporta Windows, así que en un primer momento Windows necesitaba crear una máquina virtual Linux, para ejecutar Docker en ella. Básicamente eso era lo que hacía Docker Desktop, como puedes ver en la siguiente imagen:

Sigue leyendo si queres saber otra manera de hacerlo funcionar

¿Es necesario usar Windows 10 Pro?

Como seguramente te preguntarás, ¿se puede usar Docker sin Windows 10 Pro?, esta pregunta debe ser contestada con un depende. Por una parte Hyper-V necesita de Windows 10 Pro para instalarse y como he dicho anteriormente, Docker se apoya en Hyper-V para funcionar, así que sí sería necesario. Sin embargo, hay otra manera de hacerlo funcionar usando WSL.

Usando Docker y Windows Subsystem for Linux (WSL)

Una de las novedades que ha traído Windows 10 en sus últimas versiones es el Windows Subsystem for Linux (WSL). Esto básicamente es una implementación del kernel de Linux bajo Windows, sin necesidad de realizar una emulación vía Hyper-V. Lo cual trae multitud de ventajas como poder usar programas típicos de Linux sin tener que recompilarlos para Windows, acceder a sistemas de archivos usados en distribuciones Linux, etc.

Uno de los grandes beneficiados del WSL es Docker, ya que en las últimas versiones permite utilizar este sistema en lugar de Hyper-V. Esto tiene varias implicaciones:

  • Una gran mejora en el rendimiento, ya que con Hyper-V el acceso a los ficheros era lento
  • La posibilidad de usarlo en cualquier versión de Windows, no solo en Windows 10 Pro.
  • Al no usar Hyper-V puedes utilizar otro emulador/virtualizador como VirtualBox para desarrollar lo que necesites

Si estás preparado para usar Docker bajo WSL 2 (necesitas la versión de Windows 10 2004) obtendrás un mensaje similar al siguiente:

Te recomiendo personalmente pasarte a este modo cuanto antes, ya que como comentan en el blog de Docker, las mejoras de rendimiento son enormes. Por ejemplo una reducción en el tiempo de arranque de más de un minuto a 10 segundos.

Finalmente deberás instalar la última versión del kernel del WSL, que se encuentra aquí.

¿Qué es Docker Desktop?

Docker Desktop es un programa para Windows que permite instalar el daemon de Docker, así como una interfaz de usuario para gestionarlo y la configuración interna para que funcione en Windows. En la siguiente captura puedes ver Docker Desktop y cómo yo ya estoy usando Docker bajo WSL 2.

Finalmente debes configurar una distribución bajo WSL 2:

 

Espero que este artículo resuelva tus dudas sobre Docker en Windows y te ayude a clarificar algunos conceptos.

Un saludo.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL y .Net backend developer en idealista.

Share
Publicado por
Jorge Durán

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

5 años hace

¿Cómo usar agile para mejorar tu gestión de proyectos?

En los últimos tiempos y debido a la transformación digital de las empresas, cada vez…

5 años hace