Docker y Windows Server 2016


Dentro de las novedades que ofrece la última versión del sistema operativo para servidores presentado por Microsoft, que continúa pisando fuerte en el campo Open Source, sobresale la nueva alianza tecnológica con Docker. La formalidad se llevó a cabo en la conferencia Ignite en Atlanta, durante la presentación oficial de Windows Server 2016. Sin dudas que para todas las personas que siguen de cerca la tecnología y comprenden el impacto que están generando los containers, sabrán comprender que esta feature es una de las características más destacadas entre desarrolladores y profesionales de IT en lo que a las novedades de Windows Server refiere.

Docker + Windows Server

Docker no llega a tener 4 años de vida, pero ya se posiciona como un standard si hablamos de contenedores, siendo un gran agente de transformación dentro del mundo Linux y comenzando a dar sus primeros pasos en el mundo Windows. Los aportes que brinda Docker se basan en portabilidad, seguridad y agilidad a la hora de desarrollar o implementar aplicaciones sin importar el entorno (nube pública, privada o instalaciones físicas).

Todas las características y beneficios nombrados anteriormente se basan en que el objetivo fundamental es proporcionar la capacidad de ejecutar contenedores ligeros en los que se aíslan ciertos procesos del resto del Sistema Operativo. Al hablar de procesos, nos referimos a aplicaciones web, bases de datos, servicios específicos, balanceadores de carga, etc. Los containers poseen una gran diferencia con las máquinas virtuales tradicionales, ya que un contenedor no proporciona el mismo nivel de funcionalidad pero sí que simplifica la gestión (creación, uso y destrucción de los mismos). Existe una denominación sobre los contenedores que los posicionan como una virtualización a nivel de Sistema Operativo, que se adecúa a la realidad ya que cada container obtiene su propio espacio de ejecución y recursos dentro del sistema operativo host.

Hoy por hoy, todas esas funcionalidades se encuentran disponibles y en marcha sobre Windows Server, permitiendo acceder a todos los beneficios de forma nativa en entornos Windows. Esto es el resultado de 2 años de trabajo en conjunto con Microsoft donde se han portado a Windows el Docker Engine y el CLI de Docker para aprovechar las nuevas funcionalidades de Docker en imágenes de multi-arquitectura para el Docker Hub (en el siguiente enlace vamos a tener más información al respecto: Glossary). A su vez la alianza respalda el soporte a Clientes Empresariales que utilicen Docker Engine en Windows Server 2016.

En entornos multiplataforma el beneficio es aún mejor, ya que solamente se conforma de un único conjunto de herramientas, APIs y formatos de imágenes disponibles para administrar ambos entornos; Linux y Microsoft. A pesar de tener una versión oficial y estable, todavía existen brechas entre ambos mundos a la hora de gestionar los entornos, por ejemplo. Existe una versión beta para descargar, en la que se presentan algunas funcionalidades que todavía se encuentran en desarrollo.

Dentro de Windows ya tenemos disponible un conjunto de herramientas, APIs e imágenes disponibles para gestionar aplicaciones Linux y Windows. Obviamente que hoy se encuentra en una etapa muy inmadura, en la que el ecosistema se encuentra muy dividido y con una gran brecha que resolver y cerrar a la hora de tomar temas como gestión de entornos, por ejemplo.

Instalar Docker

En Windows server 2016 es necesario contar con el KB3194798 para poder instalar Docker.

Para instalar Docker desde la consola ya con el Sistema Operativo actualizado, vamos a iniciar como administrador una consola de PowerShell y posteriormente ejecutaremos:

# Instalar el módulo de administración para PowerShell

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

En el caso de que el sistema detecte una versión antigua de NuGet, nos facilitará la opción de poder actualizar primero el provider y luego continuar con la instalación de Docker ejecutando:

# Instalar Docker Engine

Install-Package -Name docker -ProviderName DockerMsftProvider

Para aceptar el proveedor del paquete es necesario pulsar la tecla A. Luego que se realice la instalación debemos reiniciar el equipo, podemos realizar esta acción ejecutando:

#Reiniciar el servidor

Restart-Computer -Force

Creando nuestro primer container

Ya cumpliendo con los requerimientos y el software necesario, vamos a crear un container utilizando una imagen de Docker Hub.

En primer lugar vamos a ver algunos comandos útiles de Docker que tenemos disponibles en nuestra flamante instalación:

#Imprime en consola la versión actual de Docker en el sistema

docker --version

#Despliega las imágenes disponibles localmente de Docker

docker images

En el caso de tener la necesidad de buscar alguna imagen en particular, basta con ejecutar el comando search tomando como ejemplo la sintaxis del siguiente ejemplo:

# Comando para buscar imágenes con Nano Server, por ejemplo

docker serarch nanoserver

La salida del ejemplo anterior devuelve en consola el resultado de la búsqueda de imágenes que realiza Docker en el servicio Docker Hub.

Para crear nuestro primer container vamos a utilizar una imagen pre creada de ejemplo de una aplicación .NET que imprime un mensaje en consola:

#Crear nuestro "Hola Mundo" como container

docker run microsoft/sample-dotnet

Como recurso adicional me gustaría compartir el enlace a la documentación actualizada de Microsoft sobre Docker en Windows Server: Windows Container Documentation

Recent Posts

Archive

Follow Us

  • Grey Facebook Icon
  • Grey Twitter Icon
  • Grey LinkedIn Icon

Juntas somos mucho MaS

  • Twitter - Black Circle
  • Facebook - Black Circle
  • YouTube - Black Circle