Desde este post, pretendo detallar como se instala Docker en un Windows Server 2016 usando diferentes métodos.
En nuestro caso la instalación se hará bajo la edición Datacenter Experience, pero se puede instalar sin problemas también bajo la edición Core, o Windows 10. Aquí igualmente nos centraremos en la instalación bajo Powershell, ya que también puede ser instalado en windows, visitando el siguiente enlace Docker Store

Igualmente, me he encontrado algún problema, por lo que la extensión del post es algo más larga de lo normal, pero encontraréis la solución en la parte final, que espero os funcione.

Métodos para instalar la característica de Containers (Contenedores Docker) en Windows Server

  • Método 1 – Usando Server Manager

Desde el propio Server Manager, podemos instalar la característica de Containers:

Podemos añadir roles desde una de las siguientes dos opciones:

Añadir roles y Características

Si tenemos más de un servidor agregado, buscamos la máquina donde queremos instalarlo, si no, continuar:

Elegimos el servidor

Escogemos la característica «Containers»:

Seleccionamos Containers

Y finalizamos la instalación:

Finalizamos instalación

Tras esto, deberemos reiniciar.

  • Método 2 – Usando Powershell

Abrimos powershell con privilegios de administrador, y tecleamos el siguiente comando:

Install-WindowsFeature -name Containers

Tras esto, solo hay que reiniciar, y tendremos la base de contenedores instalada, pero esto no es todo, en la siguiente sección se explican los pasos siguientes.

  • Método 3 – Dejando que el propio proceso de instalación de Docker instale la característica.

Este método consiste en iniciar la instalación directa de Docker (aunque hay que ejecutar antes el primer paso del siguiente apartado, la instalación del módulo), y éste, hará un chequeo previo. Si no encuentra la característica instalada, procederá a instalarla, antes de continuar con el proceso de instalación.

Install-Package -name Docker -ProviderName DockerMsftProvider -Force -Verbose

Instalando el módulo y el paquete de Docker

Continuamos con el proceso a través de powershell y tras teclear los comandos, se nos pedirá instalar el proveedor Nuget, y a parte, si confiamos en la instalación del repositorio. En ambos casos debemos decirle que Si:

Install-Module -Name DockerMsftProvider

Y finalmente lanzamos el comando para la instalación de Docker. Finalmente, tras reiniciar la máquina, ya dispondremos de Docker operativo en nuestro equipo.

Install-Package -Name Docker -ProviderName DockerMsftProvider -RequiredVersion 18.09.0 -Force

Cómo listar las imagenes disponibles para Windows u otros Sistemas Operativos

Con el comando Search, podemos buscar los contenedores por entre otros valores, Sistemas Operativos, por ejemplo:

Docker Search Windows

U otros sistemas operativos, como Linux Fedora:

Docker Search Fedora

Error tras la verificación del Hash del fichero de instalación

Hasta principios de Noviembre del 2018, no he tenido nunca ningún problema con la instalación de Docker, sin embargo, para la realización del Videotutorial y de éste post, me he encontrado con el problema en máquinas virtuales creadas de 0, en máquinas completamente diferentes (un portátil, y un sobremesa). En la siguiente imagen, podemos ver el error que se recibe, gracias a la opción -Verbose:

Error ejecutando: Install-Package -Name Docker -ProviderName DockerMsftProvider -Force -Verbose

Tras esto, me dispuse a buscar información, y apareció ésta página donde encontré la solución.

Solucionando el problema al error «Cannot verify the file SHA256»

Lanzamos el siguiente comando desde powershell, el cual descargará el fichero DockerMsftIndex.json en la ruta desde donde hayamos lanzado el comando (en mi caso desde C:\ ):

Start-BitsTransfer -Source https://dockermsft.blob.core.windows.net/dockercontainer/DockerMsftIndex.json

Una vez desde allí, abrimos el fichero con el bloc de notas:

Notepad .\DockerMsftIndex.json (estando en la ruta donde esté el fichero)

Y ahí tenemos la ruta para descargar manualmente el fichero de instalación de Docker. Hay varias versiones, así que cada uno, deberá bajar la que necesite. Dado que los problemas son con el Hash, es mejor hacer la descarga usando powershell como sigue:

Descargando el fichero...

Ese fichero, deberemos copiarlo a la carpeta temporal de Docker ( c:\Users\tu_usuario\AppData\Local\Temp\DockerMsftProvider ) y dejarlo con el nombre «Docker-18-09-0.zip«. Una vez allí, hay que comprobar el hash:

Comprobamos el Hash: Get-FileHash .\Docker-18-09-0.zip -Algorithm SHA256 (Debe ser igual que el que se nos muestra en el fichero DockerMsftIndex.json)

Debería ser el mismo que aparece en el fichero DockerMsftIndex.json. Tras esto, lanzamos de nuevo la instalación siguiendo el siguiente comando:

Instalación completada con: Install-Package -Name Docker -ProviderName DockerMsftProvider -Verbose -RequiredVersion 18.09.0 -Force

Y finalmente se ha instalado, incluso cuando aquí de nuevo, el instalador borra el fichero y lo vuelve a descargar. Reiniciamos, y ya podemos usar Docker.

Consideraciones finales

Instalar Docker, como se puede comprobar, es bastante sencillo usando powershell.

En mi caso, me he encontrado con problemas de instalación, cosa que nunca tuve ni en clase, ni para proyectos. Debe haber algo en la última versión, que es bastante reciente. Desconozco si es un error generalizado, pero desde luego tiene solución como hemos podido comprobar.

La verdad, trabajar con contenedores es una gran opción a tener en cuenta. Os dejo algunos enlaces interesantes al respecto:

Solución del error de SHA256 -> http://julien.chable.net/install-docker-on-windows-server-2016-and-bypass-sha256-hash-validation-error

Docker para principiantes -> https://docker-curriculum.com/

Tech Club Tajamar -> TechClub Tajamar

Autor: Esteban Gubau Gutierrez
Curso: Microsoft MCSA Windows Server 2016 + Microsoft MCSE Cloud Platform & Infrastructure
Centro: Tajamar
Año Académico: 2018-2019
Linkedin: https://goo.gl/Rd2Yg9

Leave a Comment

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.