GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo:Introducción a los contenedores de Windows y Docker

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 “. En nuestro caso, el nombre actual es “myIIS “:

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!


Linux
  1. Cómo instalar y alojar un servidor OpenVPN con Docker

  2. Cómo listar contenedores Docker

  3. Cómo comenzar con un servidor en la nube de FreeBSD

  4. Cómo crear y lanzar contenedores LXC Linux con comandos LXC

  5. ¿Cómo registro el servidor Linux con el servidor DNS de Windows?

Tutorial de introducción a Azure Docker

Cómo ejecutar contenedores Docker

Cómo:Introducción a Ubuntu 14.04 LTS con LAMP

Cómo:Introducción a Ubuntu 14.04 LTS con LEMP

Cómo gestionar contenedores Docker

Primeros pasos con .NET Core y Docker y Microsoft Container Registry