¿Que es Docker?
Tendemos a pensar que Docker es una aplicación compleja destinada para profesionales, pero es precisamente lo contrario y puede servirnos para disponer de servicios en Windows con muy bajo consumo de recursos. Servicios que requieren de aplicaciones que generan mas consumo de recursos de forma nativa y que normalmente tienen caras licencias comerciales.
Docker solo necesita de una base de ejecución, que puede ser WSL2 de Windows 11 o también el motor de hipervisor que Windows integra desde hace tiempo, hoy os mostraremos las dos opciones que nos ofrece Windows para trabajar con Docker y como gestionarlo, en otras guías aprovechamos esta funcionalidad para otorgar a Windows de nuevas capacidades que con aplicaciones nativas han terminado perdiendo sentido.
Cada contenedor Docker puede tener funcionalidades muy concretas o agregar muchas de ellas para dar una solución global como servidores de correo electrónico, firewalls, servidores de archivos, servidores web y de aplicaciones, no hay límites. El único límite lo podemos encontrar en nuestra capacidad de hardware, aunque los consumos de este tipo de contenedores estan normalmente muy controlados, y sobre todo en el número de núcleos y memoria que podamos darle precisamente a Docker. En procesadores modernos, con seis o mas nucleos, no nos enteraremos de que tenemoso estos procesos de fondo.
Hoy nosotros nos preparamos para mostraros en esta otra guía como montar un completo servidor de DNS que no solo nos permita un acceso más rápido a internet, con menos latencias, sino también un completo control parental y de publicidad con un interfaz de gestión web y de muy fácil uso.
Instalar Docker mediante Windows 11 WSL2
- Este método requiere que instalemos el subsistema de Linux en Windows, que es compatible con Windows 10 y Windows 11, Windows 10 en las últimas versiones y Windows 11 de forma nativa. Instalarlo es realmente sencillo, necesitamos una sesión de Powershell en modo administrador y ejecutar el comando: wsl --install
- El proceso es completamente automático, instala el subsistema Ubuntu, tenemos acceso a otros a través de la tienda de aplicaciones de Windows, y requiere de un reinicio, después de reiniciar el sistema se inicia automáticamente requiriendo una primera configuración de usuario y Password para la gestión del subsistema. Mi recomendación es no usar nuestro mismo usuario de Windows, sino uno específico para esta tarea, es bueno a nivel de seguridad que gestionemos siempre contraseñas diferentes para cada servicio, podemos usar también nuestro gestor de contraseñas favorito para generar contraseñas muy seguras.
- Ahora solo tenemos que bajar la última “release” de Docker Desktop para Windows, que podemos encontrar en este otro enlace: https://docs.docker.com/desktop/release-notes/. Una vez descargado ejecutamos para instalar como cualquier otra aplicación de Windows. Recordad que tiene que ser la “release” para Windows, en esa página encontramos ejecutables multisistemas, donde se incluyen versiones para Windows, Arch, Debian y versiones para MacOS tanto para procesadores Intel como Apple M.
- El instalador es realmente sencillo de usar, solo nos pide si queremos usar WSL2 en vez de Hyper-V, como recomendación, luego veremos la otra opción, y si queremos un enlace directo en el escritorio, que es algo de lo más normal.
- Dejamos que haga su trabajo, tarda unos minutos en un ordenador moderno, nosotros hemos usado un potente AMD Ryzen 9 7900, con 32GB de RAM y un SSD PCI Express 4.0 de 2TB de capacidad. Una maquina donde este tipo de contenedores pasaran completamente desapercibidos en el desempeño general de la máquina.
Los contenedores, por su propia definición, son máquinas virtuales ligeras que nos permiten aprovechar mejor el hardware y también aislar servicios, lo que hace los sistemas más fiables y seguros.
Instalar Docker mediante Windows 11 Hyper-V
Para instalar Docker en Windows, si preferimos la opción de hipervisor integrado en Windows, es muy similar, pero tiene diferentes requisitos. El hipervisor de Windows, denominado Hyper-V, es un motor de virtualización de hardware integrado en Windows y que además es transversal porque lo podemos encontrar tanto en las versiones de servidor de Windows como también en las versiones domésticas, aunque en este caso solo está disponible en la versión profesional de Windows.
Hyper-V de Windows es una versión reducida que permite a desarrolladores y administradores introducir máquinas virtuales basadas en la tecnología de capa ligera de acceso a hardware para máquinas virtuales. Las versiones profesionales de esta tecnología, que podemos incluso usar en instancias de la nube Azure de Microsoft permiten la gestión y supervisión de máquinas virtuales de forma centralizada.
En el caso de Docker nos servirá de máquina virtual donde correr los contenedores, no es la forma más recomendada por el desarrollador porque añade consumo de recursos, pero ciertamente es mínimo, no tendremos impacto real en máquinas como las que hemos usado nosotros para esta guía.
Hyper-V es una tecnología gratuita y muy interesante, seguramente podamos dedicar algunas guías para que conozcáis la potencia de esta plataforma de virtualización de Microsoft, que no tiene nada que envidiar a aplicaciones más extendidas en el mercado, algunas de pago como VMWare Workstation, quizás la más reconocida por usuarios de Windows. La única pega es que requiere de una versión “Enterprise” o “Pro” de Windows 10 o Windows 11.
- Para instalar Hyper-V tenemos que añadirla en características de Windows. Para ello nos dirigimos a panel de control, programas, programas y características y activar o desactivar las características de Windows.
- Una vez abierto este menú contextual donde vemos todas las funciones de Windows que son opcionales, algunas ya instaladas, solo tenemos que dirigirnos a la sección de Hyper-V y seleccionar directamente esta opción. Quizás necesitemos la ISO de Windows, normalmente no.
- Una vez instalado Hyper-V tendremos que reiniciar, el siguiente paso será descargar Docker Desktop para Windows, e iniciar la instalación. En el instalador quitamos la opción de usar WSL2 en vez de Hyper-V y seguimos. Esperamos que termine la instalación, que son unos minutos, y reiniciamos.
- Al reiniciar solo tenemos que iniciar sesión en la aplicación y ya hacer uso de ella. Esta guía no nos adentraremos mucho en las opciones avanzadas, pero sí que os vamos a dar algunas claves de uso que son muy sencillas, para arrancar a disfrutar de este mundo sin límite de los contenedores. Un mundo donde también tenemos que tener cuidado porque no solo hay imágenes de contenedores de dudosa procedencia sino que también pueden estar obsoletas usando componentes desactualizados que pongan en riesgo nuestra seguridad informática, es bueno echar un ojo al análisis de vulnerabilidades que hace el propio Docker al descargar una imagen nueva, de donde luego ejecutamos el contenedor.
Siguientes pasos después de la instalación
- Una vez acabado nos pide reiniciar, es la segunda vez que nos toca, pero será la última, prometido. Una vez reiniciando tendremos que iniciar sesión con nuestra cuenta de Docker, es un requisito indispensable darse de alta, pero no hay gasto ninguno para un usuario doméstico y además podemos usar el SSO de GitHub o de Google para mayor comodidad.
- El siguiente paso es rellenar una encuesta de bienvenida donde el desarrollador recoge datos generales, nunca personalizados, del uso que vamos a dar a la aplicación, podéis contestar lo que os parezca más oportuno en las dos únicas preguntas que se realizan. Al acabar este proceso, la aplicación inicia el motor de ejecución de Docker, si hay algún problema tendremos que revisar la instalación de WSL o Hyper-V. Ojo si lo ejecutamos en maquinas virtualizadas, porque tendremos dos capas de abstracción de hardware y habrá que habilitar la virtualización anidada.
- El interfaz es realmente sencillo, pero ofrece información muy interesante como el consumo de RAM o el uso de CPU, esto es importante para que podamos administrar recursos de forma adecuada o también para ver que las aplicaciones corren adecuadamente. Debo decir que desde nuestra última guía, hace años, de Docker para Windows, el interfaz ha ganado muchísimos enteros, ahora es una autentica gozada, tiene sus propios tutoriales de aprendizaje y es incluso muy bonito y manejable.
Instalar un contenedor
- Para instalar un contenedor podemos usar el buscador integrado en el interfaz, es así de sencillo, buscamos aplicación o funcionalidad y seleccionamos la que queramos, podemos hacer “pull” que es traerse el contenedor a local para luego trabajar con él, o directamente ejecutar mediante el botón run.
No os voy a engañar, algunos contenedores tienen funcionalidades complejas que hay que saber configurar adecuadamente, algunos también necesitan acceso a volúmenes de almacenamiento para funcionar, cada caso es diferente, pero podemos encontrar también infinidad de contenedores muy fáciles de usar.
Nos permiten tener las funcionalidades que no encontramos en aplicaciones nativas para Windows, o que están obsoletas, o que también son comerciales pudiendo optar, de este modo, a versiones de código abierto y completamente gratuitas para el uso que vamos a dar (ojo, no todo lo basado en linux o en contenedores es gratis).
Para nosotros es una base donde podemos ir ampliando las capacidades de Windows y poder darnos a nosotros mismos funcionalidades avanzadas con las que aprovechar el hardware y gestionar nuestros propios servicios, como es el caso de tener nuestro propio servidor DNS con menor latencia y una configuración completamente personalizada con control parental incluido.
Fin del Artículo. ¡Cuéntanos algo en los Comentarios!