Introducción
Este artículo es una introducción básica sobre cómo usar Windows Server 2016 con contenedores y Docker en Atlantic.Net Cloud. Docker popularizó los contenedores primero en Linux, pero ahora con Windows 2016, los contenedores de Windows ahora también son compatibles de forma nativa. Esto significa que puede compilar su aplicación en un contenedor y enviarla a través de sus entornos de desarrollo y producción sabiendo que funcionará y se ejecutará exactamente de la misma manera en todos los dispositivos.
En este tutorial, implementaremos una página web en un contenedor IIS desde una imagen de contenedor IIS distribuida por Microsoft. ¡Comencemos con un tutorial rápido!
Implementación de un servidor en la nube de Atlantic.Net
Primero, necesitamos implementar un nuevo Windows 2016 con Containers VPS desde Atlantic.Net Cloud.
- Inicie sesión en https://cloud.atlantic.net.
- Haga clic en "+ Agregar servidor .”
- En la página "Agregar un servidor", ingrese lo siguiente:
- Nombre del servidor:cuál le gustaría que fuera el nombre de su servidor. Por ejemplo, “Windows 2016 Docker .”
- Ubicación:el centro de datos en el que desea que se cree su servidor.
- Escriba:en "Sistemas operativos ", seleccione "Windows ” y luego seleccione “Centro de datos 2016 (con contenedores/Docker) .”
- Plazo:¿Quiere un precio de mes a mes, según demanda, o quiere un compromiso de uno o tres años para este servidor?
- Plan:Recomendamos al menos un G2.2GB tamaño del plan para servidores basados en Windows, debido a los requisitos de memoria.
- Habilitar copias de seguridad:¿Desea que hagamos una copia de seguridad de su servidor diariamente?
- Haga clic en "Crear servidor ” para comenzar el aprovisionamiento del servidor. La siguiente página mostrará sus credenciales de inicio de sesión para el nuevo servidor. Guárdelos en algún lugar para poder usarlos para iniciar sesión. Nota:las credenciales también se le enviarán por correo electrónico .
Iniciar sesión en Windows 2016
Una vez que el servidor haya terminado de aprovisionarse, deberá iniciar sesión en Windows 2016. Haga clic aquí para averiguar cómo iniciar sesión de forma remota.
Comprobar la versión de Docker
Asegúrese de que Docker esté realmente instalado ejecutando el comando "versión docker" desde el símbolo del sistema de Windows (cmd.exe).
C:\Users\Administrator>docker version Client: Version: 17.03.1-ee-3 API version: 1.27 Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Server: Version: 17.03.1-ee-3 API version: 1.27 (minimum version 1.24) Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Experimental: false
Ejecución de su primer contenedor IIS
El primer paso es recuperar el contenedor IIS distribuido de Microsoft. Podríamos hacer esto con docker pull comando (es decir:docker pull Microsoft/ iis). Sin embargo, en aras de la simplicidad, podemos omitir este paso e ir directamente al lanzamiento de nuestro primer contenedor. Docker desplegará automáticamente la imagen necesaria (y cualquier imagen dependiente) si aún no existen localmente.
Nota:vamos a establecer algunas propiedades del contenedor cuando ejecutemos el comando:
- Nombre:el nombre del contenedor. En este caso especificaríamos el nombre ingresando “–name miIIS .”
- Puertos:puede especificar qué puertos desea abrir en el servidor. Para ello, vincula los puertos internos de tu contenedor a un puerto externo para que sea accesible públicamente. En este caso, vinculamos el puerto 80 (el puerto web) del contenedor al puerto 80 de nuestro servidor en la nube con “-p 80:80 “.
Docker desplegará automáticamente la imagen necesaria (y cualquier imagen dependiente) si aún no existen localmente.
C:\Users\Administrator>docker run -d --name myIIS -p 80:80 microsoft/iis Unable to find image 'microsoft/iis:latest' locally latest: Pulling from microsoft/iis 3889bb8d808b: Pull complete 6d4d50238ed1: Pull complete 0606d7d474d1: Pull complete 672755d284cd: Pull complete 88f5b9741695: Pull complete d53dd94c8474: Pull complete Digest: sha256:bcbcb3b442bc5f0ab3b8b769b52584d98751861b5e438b866d59287cc8112f10 Status: Downloaded newer image for microsoft/iis:latest 2614436cb74c8a21c77e071e13fb5937c12f8946ce8e3c7044e24216cae4100b
Su contenedor ahora se está ejecutando, lo cual puede verificar con el siguiente comando:
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
A continuación, iniciaremos sesión en el contenedor e iniciaremos un símbolo del sistema de Windows (cmd.exe ) en el contenedor para ingresar comandos interactivos:
C:\Users\Administrator>docker exec -i myIIS cmd Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\>
Ahora que ha iniciado sesión en el contenedor, vamos a eliminar la página de inicio predeterminada del servidor web IIS para que podamos agregar nuestra propia página de índice:
del C:\inetpub\wwwroot\iisstart.htm
Ahora agregue su propio contenido a la página index.html:
echo "Nice! My first container is displaying this text on my index page!" > C:\inetpub\wwwroot\index.html
Ahora abra un navegador y escriba la dirección IP de su servidor en la nube en el campo URL. Ahora debería ver su página de índice:
De vuelta en el CMD mensaje, escriba salir para salir de la sesión interactiva del contenedor:
C:\>exit exit C:\Users\Administrator>
Creación e implementación de un contenedor Docker con sus cambios
Ahora que el contenedor está configurado de la manera que desea, puede guardar el contenedor en una nueva imagen de contenedor para uso futuro. Primero, debemos obtener el nombre del contenedor de la ventana acoplable "docker ps -a Comando y detener el contenedor:
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
C:\Users\Administrator>docker stop myIIS myIIS
Cree el nuevo contenedor con “docker commit
C:\Users\Administrator>docker commit myIIS configured-iis sha256:4d08b0a5561e11817d199d6d55d46497ce1d4221384d5c29b4c622d44cceed9c
Verifique que se haya creado la nueva imagen:
C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE configured-iis latest 4d08b0a5561e 44 seconds ago 10.5 GB microsoft/iis latest 9e66ceefdc5a 2 weeks ago 10.4 GB
El contenedor que acabamos de crear ahora se puede implementar para uso futuro:
docker run -d --name web01 -p 80:80 configured-iis
Ahora detenga el nuevo contenedor y elimínelo:
C:\Users\Administrator>docker stop web01 web01
C:\Users\Administrator>docker rm web01 web01
Terminando
Lo anterior fue solo un tutorial básico. También puede hacer cosas interesantes, como automatizar la creación de imágenes de contenedores con DockerFiles, enviar las imágenes a un repositorio centralizado y crear redundancia y conmutación por error automática al configurar varios nodos en un Docker Swarm. ¡Disfrútalo!