Docker es un producto que le permite configurar un contenedor Docker en un sistema operativo como Windows 10.
Hoy en día, los contenedores están de moda y Docker es el rey de los contenedores. Para ‘caber’ en estos contenedores y no quedarse fuera de lo actual, Microsoft ha estado colaborando bastante con Docker en los últimos años para que su ecosistema esté al mismo nivel que sus contrapartes de Linux. Uno de los resultados de la colaboración entre Docker y Microsoft ha sido un producto llamado Docker para Windows.
Aunque se escuche casi igual que Docker para Windows Server, Docker para Windows es diferente. Docker para Windows funciona en Windows 10 Professional o Enterprise 64-bit, en los cuales nos enfocaremos en este artículo. Sin embargo, si está usando un sistema legacy de Windows, puede consultar el Docker Toolbox.
El Docker para Windows tiene dos versiones: la de comunidad (Community Edition) y la empresarial (Enterprise Edition). Como no vamos a hacer nada lujoso y me gusta lo gratis, vamos a utilizar la edición de la comunidad.
En nuestra máquina de Windows 10, primero tendremos que descargar la versión de comunidad de Docker para Windows. Una vez descargado, instálelo adecuadamente. Cuando termine, le solicitara que cierre su sesión en Windows—cierre y vuelva a iniciar.
Una vez que haya terminado la instalación, el programa automáticamente iniciara después que la computadora se haya reiniciado. Cuando le aparezca, se le pedirá que instale las funciones de Hyper-V y Containers. Prosiga y luego reinicie.
Haga clic en OK, pero no se preocupe si no pasa nada porque la aplicación está instalando las funciones autorizadas en segundo plano. Espere un minuto más o menos y notará que su computadora se reiniciara. Una vez que su computadora se reinicie, Docker intentará abrir la bandeja del sistema.
Si Docker no se inicia cuando está usando Windows 10 en un entorno ya virtualizado como Parallels, VMWare Fusion en MacOS, o quizás IaaS en la nube, probablemente no podrá darle mensajes de error para notificarle que hubieron fallas al intentar iniciar la máquina virtual MobyLinuxVM. De todos modos, como vamos a crear un contenedor de Windows tenemos que cambiarnos de Docker para Windows a contenedores de Windows (Windows Containers).
Una vez que se haya cambiado a Windows Containers, Docker debería de funcionar correctamente. El siguiente paso es desplegar una imagen para usar. Me gustaría configurar un contenedor Windows Server Core. Buscaré en el registro oficial de Docker usando la búsqueda de docker a través de cmd o PowerShell. Esto me dará el nombre de la imagen para desplegar.
PS> docker search *windowsservercore*
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
microsoft/windowsservercore Windows Server Core base OS image for Window… 340
Una vez que conozca el nombre de la imagen, podre desplegar la imagen en mi computadora con docker pull.
PS> docker pull microsoft/windowsservercore
Using default tag: latest
latest: Pulling from microsoft/windowsservercore
3889bb8d808b: Downloading [> ] 63.29MB/4.07GB
cfb27c9ba25f: Downloading [==> ] 62.29MB/1.308GB
Esto descargará y descomprimirá una imagen de Windows Server Core. Una vez que haya descargado la imagen, podrá ejecutar un contenedor de la imagen. Para hacerlo, usaremos el comando de ejecución (run). El comando run de docker usa una imagen para crear un contenedor desde cero para luego ejecutar un comando específico. En nuestro ejemplo, me gustaría ejecutar PowerShell en mi nueva imagen de Windows Server Core. Para hacerlo, especificaré el nombre de la imagen y el ejecutable de PowerShell.
PS> docker run microsoft/windowsservercore powershell
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:\>
PS>
Aunque no hizo mucho, puso PowerShell en el contenedor y luego se salió. Esperaba que me presentara una sesión de PowerShell. La razón por la que no fue así, es porque de forma predeterminada, el Docker Run no es interactivo—es decir ejecuta el comando independientemente y luego se sale. Para poder usar PowerShell en ese contenedor, tendré que usar el argumento -it. Esto abrirá PowerShell y lo dejará funcionando para que cuando lo desee usar.
¡Felicidades, ha configurado su primer contenedor de Windows en Docker!
Adam Bertram
Adam Bertram is a 20-year veteran of IT. He’s currently an automation engineer, blogger, independent consultant, freelance writer, author, and trainer. Adam focuses on DevOps, system management, and automation technologies as well as various cloud platforms. He is a Microsoft Cloud and Datacenter Management MVP and efficiency nerd that enjoys teaching others a better way to leverage automation.