Welcome to Delicate template
Header
Just another WordPress site
Header

Containers en Windows Server 2016TP3

octubre 21st, 2015 | Posted by cristiansan in 2016 Server | CLI | Containers | Deploy | Hyper-V | Microsoft | Nano | PowerShell

En este artículo no se habla sobre que es docker o los contenedores/NanoServer, si no como instalar-lo en nuestro Windows Server 2016 TechPreview 3.

Sobre que es, os dejamos el siguiente Link: https://news.microsoft.com/es-es/2015/08/19/disponible-un-nueva-technical-preview-de-windows-server-2016/

Visto que es, procederemos a instalar los Contenedores en nuestro Server 2016:

Ello instalará y configurará los Containers en Windows Server.
Tras ello, se realizará un reinicio de WServer y una vez arranque finalizará la instalación de “Containers”, descargando el paquete WIM desde aka.ms y procediendo a su instalación.  Para finalizar, el proceso descargará la imagen de ContainerBaseImage.wim.

Una vez finalizado, se instala Docker, con lo que podemos gestionar los Containers de Windows tanto con PowerShell como con Docker.

Containers con  PowerShell

Para obtener un listado de los comandos habilitados para la gestión de containers, ejecutar:

Crear un Contenedor

Para ello, listaremos la imagen que tenemos disponible.

Con el comando get-vmswitch listará los switches instalados en el host. Toma nota del mismo para el proceso de creación del contenedor.

Con el siguiente comando crearemos un nuevo contenedor. En este ejemplo, la salida se almacena en una variable, llamada $container.

Ahora, con el commando, get-container, podremos ver el contendor generado.

Para encender uno de los contenedores ejecutaremos:

Si generamos el contenedor almacenando el contenido en una variable, como hicimos anteriormente, ahora podremos abrir sesión sobre nuestro contenedor de la siguiente forma:

Si no lo hicimos, podemos establecer la conexión mediante el ID de contenedor. Para obtener el mismo ejecutaremos:

Para después utilizar el ContainerID como ID de conexión PSSsesion.

La siguiente salida, indicará que estamos logados en nuestro contenedor.

La gestión de la misma, se realizará igual que hacemos con una máquina virtual/física.

Instalar un servidor Web

Como el ejemplo de Microsoft vamos a usar ngnix como servidor web: http://nginx.org/

Para ello, descargaremos el software en nuestro contenedor:

Extraemos el zip en el contenedor:

En este punto, podemos generar una imagen de este contenedor. O ejecutar nginx desde c:\nginx de la siguiente forma:

Por supuesto, si no queremos nginx, podemos instalar IIS. Para ello, instalar la feature:

Una vez finalizado, ya dispondremos de IIS instalado.

Configurando la Red

Ahora, vamos a configurar la red de nuestro Contenedor a fin de poder tener acceso a nuestro nuevo servicio. Dependiendo de la conf. del host y de la red, un contenedor podrá recibir una IP de un servidor DHCP o del propio host utilizando el NAT. En este ejemplo vamos a usar NAT para el acceso al servicio del Contenedor.

Vamos a asignar un puerto del Host para que redirija las peticiones a un puerto del Contenedor. Por ejemplo, vamos a asignar la petición al host sobre el puerto 55555 sobre el puerto 80 del Contenedor, de este modo podríamos realizar una petición http://ContainerHost:55555

Para el laboratorio será necesario generar un portMApping.  Para ello es necesario conocer la IP del contenedor i el puerto utilizado por el host que será configurado. Utilizaremos los comandos add-netNatStaticMapping con el parámetro –InternalIPAddres.

En nuestro ejemplo, la sintaxis seria la siguiente:

Si disponemos de firewall, ahora sería necesario configurar la regla de entrada para el Firewall.
Ahora, desde otra máquina accedemos con un navegador a la IP de nuestro HOST de contenedores.

Conexió RDS

¿Podemos conectar vía RDS? Lo primero que haremos es conectar a nuestro contenedor, como indicamos anteriormente, mediante el uso de PSSesion.  Una vez dentro del contenedor, establecemos password para el administrador local y activamos la cuenta.

En este punto, igual que hicimos con el servidor Web, deberemos realizar un NAT interno para la redirección de un puerto local, sobre el puerto del servicio del Contenedor.

Si disponemos de firewall, deberemos incluir la respectiva regla de acceso.  Ahora es momento de abrir la conexión RDS:

Recursos:

PowerShell Reference: https://msdn.microsoft.com/virtualization/windowscontainers/reference/powershell_overview

Foros MSDN: https://social.msdn.microsoft.com/Forums/en-US/home?forum=windowscontainers&sort=lastpostdesc&brandIgnore=true

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

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