La escalabilidad de un sistema operativo es esencial cuando hablamos de equipos corporativos ya que gracias a esto es posible añadir muchas más funcionalidades al sistema como aplicaciones, roles y programas siempre buscando añadir más opciones de uso a los usuarios finales.
Windows Server 2016 es un sistema operativo integral en el cual encontramos una amplia variedad de roles desarrollados para una administración centralizada de usuarios, grupos y elementos siempre con bases seguras y fiables.
Una forma como podemos sacar el máximo provecho de Windows Server 2016 es instalando contenedores, también conocidos como Docker, los cuales nos proveen las herramientas necesarias tanto para crear como para administrar todos los contenedores disponibles para Windows Server 2016 y los recursos asociados a él.
Un contenedor ha sido desarrollado enfocado con el propósito de poder envolver una aplicación en su propia caja de forma aislada. Para la aplicación que existen en el contenedor, esta no tiene conocimiento de ninguna otra aplicación o proceso que exista fuera de su caja o box, desde este punto de vista todos los elementos que la aplicación necesita para funcionar correctamente están disponibles dentro de este contenedor, así, sin importar donde se mueva la caja, la aplicación siempre estará disponible y lista para ser usada porque está empaquetada con todo lo que necesita para ejecutarse en el sistema operativo donde reside.
Los contenedores han sido diseñados como un entorno de tiempo de ejecución portátil, aislado, controlado que puede ser ejecutado en una máquina host o máquina virtual con total funcionalidad. Una aplicación o proceso que sea ejecutado en un contenedor estará empaquetado con todas las dependencias y archivos de configuración necesarios para que su uso sea eficaz y no tenga ningún problema para el usuario o administrador.
El host del contenedor ofrece un conjunto de recursos para el contenedor y el contenedor solo usará estos recursos sin acceder a otros recursos del equipo físico garantizando así que no se afectará el rendimiento final.
Existen una serie de conceptos a nivel de contenedores que es útil conocerlos al momento de trabajar con ellos, estos son:
1. Tipos de contenedores para Windows Server 2016
Al usar los contenedores en Windows Server 2016 tenemos a disposición dos tipos que son:
Con estos conceptos en mente vamos a ver como instalar los contenedores en Windows Server 2016.
La forma más práctica para realizar esta tarea es a través de las características de Windows Server a la cual podemos acceder de dos formas:
- A través del Administrador del servidor pulsando en la línea “Agregar roles y características”.
- En el mismo Administrador del servidor en la ruta “Administrar / Agregar roles y características”.
Luego, en la ventana desplegada, vamos hasta la sección “Características” y allí activamos la casilla “Contenedores”:
Pulsamos en Siguiente y seguimos los pasos del asistente. Aunque este es el método más práctico para instalar un contenedor en Windows Server 2016, en la mayoría de las ocasiones nos encontramos con el siguiente error.
Por este motivo Solvetic explicará la forma correcta para instalar los contenedores en Windows Server 2016 y de este modo aumentar de forma significativa la productividad de este.
2. Instalar Docker en Windows Server 2016
Docker es un recipiente que sirve para empaquetar y entregar las imágenes del contenedor seleccionado, este proceso automatizado da como resultado imágenes que luego pueden ejecutarse en cualquier lugar ya sea de forma local, en la nube o en una máquina personal, como un contenedor.
Para instalar Docker en Windows Server 2016 vamos a usar el módulo de PowerShell OneGet el cual funciona con los proveedores necesarios para realizar la instalación siendo en el caso de Docker el MicrosoftDockerProvider. Este proveedor habilita la función de contenedores en el servidor y también instala Docker, el cual requiere un reinicio.
Recordemos que Docker es necesario para trabajar con contenedores de Windows y está diseñado con un Docker Engine y el cliente Docker.
Vamos a abrir una consola de Windows PowerShell como administradores y en primer lugar vamos a instalar "Docker-Microsoft PackageManagement Provider" de la galería de PowerShell ejecutando la siguiente línea:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Al momento de ejecutar esta línea veremos lo siguiente:
Allí ingresamos la letra S para confirmar la descarga. En este caso instalaremos NuGet el cual es un proveedor necesario para ejecutar la instalación de Docker, luego de esto podremos ejecutar de nuevo el comando y veremos que la instalación de Docker se realiza de forma correcta:
El siguiente paso es usar el módulo “PackageManagement” de PowerShell para instalar la última versión de Docker, para ello ejecutaremos lo siguiente:
Install-Package -Name docker -ProviderName DockerMsftProvider
Allí ingresamos la letra S para confirmar o la letra O para confirmar todo y veremos que inicia el proceso de instalación:
Finalmente veremos lo siguiente donde se indica que es necesario un reinicio del sistema:
Ejecutamos el reinicio de Windows Server 2016 ejecutando la siguiente línea:
Restart-Computer -Force
Podremos ver que el sistema inicia el proceso de configuración de las actualizaciones. Esto instalará Docker en Windows Server 2016.
Algunas de las tareas que podemos realizar más adelante son. Verificar la versión instalada:
Get-Package -Name Docker -ProviderName DockerMsftProvider
Ver la versión actual:
Find-Package -Name Docker -ProviderName DockerMsftProvider
Actualizar Docker:
Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force Start-Service Docker
3. Actualizar el Sistema Operativo Windows Server 2016
Antes de correr Docker vamos a instalar las actualizaciones para Windows Server 2016, para ello, desde Windows PowerShell, vamos a ejecutar el siguiente comando. Allí ingresamos el número 6 para iniciar el proceso de descarga e instalación de las actualizaciones disponibles para el sistema.
sconfig
4. Despliegue de contenedores en Windows Server 2016
Para este caso vamos a descargar y ejecutar una imagen de muestra .NET creada previamente desde el registro de Docker Hub.
Este contenedor ejecutará una aplicación .Net Hello World, para ello ejecutamos lo siguiente:
docker run microsoft/sample-dotnet
El resultado obtenido será el siguiente:
Como vemos, los contenedores son una alternativa practica y útil de escalabilidad del sistema operativo ofreciéndonos soluciones integrales para administrar nuevas características.