Introducción

En los últimos años, el uso de tecnologías de contenedores como Docker ha aumentado drásticamente en instituciones de diversas industrias. Como resultado, proveedores de nube populares como Amazon y Google han desarrollado herramientas avanzadas para respaldar esto. Algunos de estos son Amazon Elastic Compute Cloud (EC2), Amazon Elastic Container Service (Amazon ECS) y EC2 Container Registry (ECR). EC2 es un producto popular que proporciona servidores virtuales escalables en la nube, mientras que Amazon ECS es un servicio web de Amazon que se utiliza para ejecutar y administrar aplicaciones Docker en un conjunto escalable de instancias EC2.

En este artículo, veremos cómo implementar un contenedor Docker en un solo servidor en AWS.

¡Aquí vamos!

Suministro de contenedores Docker

Primero, veamos cómo ejecutar un servidor en AWS instalando y ejecutando Docker manualmente. También le mostraremos cómo ejecutar imágenes de Docker en AWS. Bueno, para que el proceso sea exitoso, necesita un servidor. En este caso, puede elegir AWS EC2, que puede iniciar fácilmente un servidor virtualizado conocido como instancia EC2.

Paso 1: configurar la instancia EC2

Vaya a su AWS y haga clic en el enlace disponible que lo llevará a la consola de EC2. hacer clic Iniciar instancia:

A continuación, para ejecutar EC2 correctamente, elija uno Imagen de máquina de Amazon (AMI). AMI contiene todos los componentes de software necesarios para configurarlo e iniciarlo en su servidor. AWS tiene toneladas de opciones gratuitas y de suscripción, incluidas MYSQL, AMI o Windows. En este caso elegimos Amazon Linux AMI.

Entonces elige el Tipo de instancia esto determinará el tipo de CPU, memoria, capacidad de red y almacenamiento necesarios durante la instalación. Escoger t2.microy haga clic en el botón siguiente como se muestra a continuación:

Continúe haciendo clic en el botón de arriba para mantener la configuración predeterminada para todas las funciones de la instancia hasta que llegue a la página de configuración de seguridad. Esta página contiene reglas de firewall para controlar el tráfico del sistema. De forma predeterminada, todos los puertos nuevos están bloqueados, por lo que esta página se usa para permitir solicitudes entrantes HTTP y SSH desde cualquier fuente. No olvide nombrar el clúster de seguridad, luego haga clic en Comprobar y empezar Botón:

En esta página, haga clic en el Comienzo Botón y verá una ventana emergente donde puede a. necesito elegir Par de claves. Contiene una carpeta de claves tanto pública como privada que se utiliza para conectarse a la instancia EC2 a través de SSH. Haga clic en el botón «Crear nuevo par de claves» y asigne un nombre a su clave. Continúe y descargue su par de claves.

Ahora puede guardar su archivo de claves en un lugar seguro en su sistema. Continúe con el inicio de las instancias. Esto debería llevarlo a la página de inicio. Golpea el «Mostrar instancias « Botón para hacer clic en el Instancias EC2 Página.

En esta página puede ver la lista completa de instancias EC2 existentes. Para obtener más información, haga clic en el nuevo archivo de instancia EC2 en esta página. Verá la dirección pública y la hora de inicio. Copie la dirección IP, ya que la utilizará al instalar Docker en SSH.

Instalación de Docker

A continuación, instale Docker en la instancia EC2. En la ubicación donde se almacena el par de claves, abra la Terminal e ingrese el siguiente comando:

> cd ~/my-aws-key-pairs
> chmod 400 my-ec2-key-pair.pem
> ssh -i my-ec2-key-pair.pem ec2-user@<EC2-INSTANCE-PUBLIC-IP-ADDRESS>

Si ingresa la información correcta, debe tener la siguiente información:

 __|  __|_  )
       _|  ( 	/   Amazon Linux AMI
      ___|___|___|
 
https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/
[ec2-user]$

Ahora sigue adelante e instala Docker:

[ec2-user]$ sudo yum update -y
[ec2-user]$ sudo yum install -y docker
[ec2-user]$ sudo service docker start

Incluir la usuario ec2 en su Docker-Set y ejecute el comando sin tener que usarlo sudo. Debe cerrar sesión y luego volver a iniciarla para que este proceso funcione:

[ec2-user]$ sudo usermod -a -G docker ec2-user
[ec2-user]$ exit
 
> ssh -i my-ec2-key-pair.pem ec2-user@<EC2-INSTANCE-PUBLIC-IP-ADDRESS>
 
[ec2-user]$ docker info

Si está haciendo todo correctamente, el comando anterior debería mostrar mucha información sobre la instalación de Docker sin mostrar ningún error. Ahora está listo para ejecutar su imagen. En este caso, usaremos la aplicación de entrenamiento / web para obtener algo como:

[ec2-user]$ docker run -d -p 80:5000 training/webapp:latest python app.py

Notará que el texto «-p 80: 5000» indica a Docker en su contenedor que vincule el puerto 5000 al puerto 80 en la instancia EC2. Pruebe que el proceso esté completo con el siguiente comando:

[ec2-user]$ curl http://localhost
Hello world!

Si recibe un mensaje de «Mundo de ayuda», sabrá que su contenedor Docker se está ejecutando en la nube de AWS.

Implementar contenedores de Docker

Ahora es el momento de ejecutar su primer contenedor.

A … crear Nginx Contenedor ingresando el siguiente comando:

[ec2 -user@ip - 172 -31 -8 -51 ~] $ docker run -d -p 80:80 - -name nginx nginx
unable to find image 'nginx:latest ' locally
latest: pulling from library/nginx
94ed0c431eb5: pull complete
9406c100a1c3: pull complete
aa74daafd50c: pull complete
Digest: sha256: 788fa27763db6d69ad3444e8ba72f947df9e7e163bad7c1f5614f8fd27a311c3
status: downloaded newer image for nginx: Latest
b60fe57f39f49b7de72e6ceff7d1333ea5b2f6a13952064a831cd634e8b5c3c
[ec2 -user@ip - 172 -31 -8 -51 ~] $

Ejecute el comando de Docker para confirmar que un contenedor nginx se creó correctamente:

[ec2 -user@ip - 172 -31 -8 -51 ~] $
CONTAINER ID   IMAGE      COMMAND                   CREATED                STATUS              PORTS    NAMES
60fe57f39f4      nginx     "nginx -g 'daemon...."   12 seconds  ago    up 12 seconds 0.0.0.0:80->/tcp nginx
[ec2 -user@ip - 172 -31 -8 -51 ~] $

El último paso es visitar el nombre DNS público En su navegador debería tener algo como esto:

Una vez que haya implementado con éxito Docker Container o AWS EC2, todo se verá perfecto. Sin embargo, puede haber algunos problemas de automatización e integración al utilizar el proceso manual anterior.

  • La primera es la automatización, ya que el proceso anterior implica la implementación de un contenedor Docker en una sola instancia EC2. Entonces, ¿cómo se implementan varios contenedores en varias instancias EC2?
  • El siguiente es la integración. Cuando ejecuta contenedores de Docker en la nube de AWS, esto es solo una parte de todo el proceso de configuración. Pero tienes que integrar Docker con el resto de estructuras de tu sistema.

Para resolver estos problemas, puede utilizar EC2 Container Service (ECS), que requiere que cree un grupo ECS o un clúster ECS que es una serie de instancias EC2 bajo ECS. Luego, especifique el contenedor que necesita ejecutar y deje que ECS implemente esos contenedores en el clúster especificado, incluido el desarrollo de versiones más nuevas y su uso para integrarse con otras estructuras de AWS.

ECS puede ser útil para administrar diferentes contenedores de Docker en una amplia variedad de instancias EC2.

Conclusión

¡Felicidades! Ahora ha aprendido a configurar e implementar correctamente contenedores Docker en AWS EC2. Gracias por leer hasta aquí. Esperamos que esta información haya sido útil para aquellos que están atascados con la instalación e implementación de Docker en EC2.

Echa un vistazo a estos 3 mejores servicios de alojamiento web