Integración de Docker con AWS: Una Guía Completa
Docker has revolutionized the way developers build, package, and deploy applications, enabling them to run consistently across diverse environments. When integrated with Amazon Web Services (AWS), Docker offers scalability, resilience, and flexibility, allowing organizations to harness the full potential of cloud computing. In this article, we’ll explore advanced strategies for integrating Docker with AWS, covering core services, deployment strategies, and best practices.
Comprender Docker y AWSDocker es una plataforma de código abierto que permite a los desarrolladores crear, implementar y ejecutar aplicaciones en contenedores. Los contenedores son entornos aislados que contienen todo lo necesario para ejecutar una aplicación, incluyendo el código, las bibliotecas y las dependencias. Esto permite que las aplicaciones se ejecuten de manera consistente en diferentes entornos, desde el desarrollo hasta la producción.AWS (Amazon Web Services) es una plataforma de servicios en la nube que ofrece una amplia gama de servicios de infraestructura y aplicaciones. AWS proporciona una infraestructura escalable y segura para alojar aplicaciones y datos en la nube.La integración de Docker con AWS permite a los desarrolladores aprovechar las ventajas de ambas plataformas. Los contenedores Docker se pueden implementar fácilmente en AWS, lo que permite a los desarrolladores escalar sus aplicaciones de manera rápida y eficiente. Además, AWS proporciona servicios específicos para la gestión de contenedores, como Amazon Elastic Container Service (ECS) y Amazon Elastic Kubernetes Service (EKS), que facilitan la implementación y la gestión de aplicaciones en contenedores.En resumen, la combinación de Docker y AWS ofrece a los desarrolladores una solución poderosa y flexible para crear, implementar y escalar aplicaciones en la nube.
Antes de sumergirnos en las técnicas de integración, es esencial comprender las fortalezas tanto de Docker como de AWS.
Docker es una plataforma de código abierto que permite a los desarrolladores crear, implementar y ejecutar aplicaciones en contenedores. Los contenedores son entornos aislados que contienen todo lo necesario para que una aplicación se ejecute, incluyendo el código, las bibliotecas del sistema, las herramientas y las dependencias. Esto significa que las aplicaciones pueden ejecutarse de manera consistente en cualquier entorno, ya sea en un servidor local, en la nube o en un dispositivo móvil.Docker utiliza la tecnología de contenedores de Linux, que permite que múltiples contenedores se ejecuten en una sola máquina host. Cada contenedor comparte el kernel del sistema operativo host, pero tiene su propio espacio de usuario y sistema de archivos. Esto hace que los contenedores sean mucho más ligeros y rápidos que las máquinas virtuales tradicionales, que requieren un sistema operativo completo para cada instancia.Docker también proporciona una serie de herramientas y servicios para facilitar el desarrollo y la implementación de aplicaciones en contenedores. Estos incluyen:- Docker Hub: Un repositorio de imágenes de contenedores que los desarrolladores pueden usar como base para sus propias aplicaciones.- Docker Compose: Una herramienta para definir y ejecutar aplicaciones de múltiples contenedores.- Docker Swarm: Un orquestador de contenedores que permite a los desarrolladores administrar y escalar aplicaciones en contenedores en múltiples hosts.- Docker Machine: Una herramienta para crear y administrar máquinas host de Docker en diferentes plataformas.En resumen, Docker es una plataforma de contenedores que permite a los desarrolladores crear, implementar y ejecutar aplicaciones de manera consistente en cualquier entorno. Proporciona una serie de herramientas y servicios para facilitar el desarrollo y la implementación de aplicaciones en contenedores, lo que lo convierte en una opción popular para el desarrollo de aplicaciones modernas.
Docker es una plataforma de código abierto que permite a los desarrolladores automatizar el despliegue de aplicaciones dentro de contenedores ligeros y portátiles. Los contenedores encapsulan una aplicación y sus dependencias, asegurando que se ejecute de manera uniforme sin importar el entorno. Los beneficios clave de Docker incluyen:
- Portabilidad: Los contenedores Docker pueden ejecutarse en cualquier sistema que admita Docker, lo que facilita el movimiento de aplicaciones entre entornos de desarrollo, prueba y producción.
- Aislamiento Cada contenedor opera de forma independiente, asegurando que las aplicaciones no interfieran entre sí.
- Eficiencia de Recursos Los contenedores comparten el mismo kernel del sistema operativo, lo que los hace significativamente más ligeros en comparación con las máquinas virtuales.
What is AWS?
AWS is a comprehensive cloud computing platform offered by Amazon, providing a wide range of services, including computing power, storage, and networking. AWS is known for its scalability, reliability, and security. Key services that are particularly relevant to Docker integration include:
- Amazon Elastic Container Service (ECS) es un servicio de orquestación de contenedores altamente escalable y de alto rendimiento que permite ejecutar, detener y administrar fácilmente contenedores Docker en un clúster. ECS elimina la necesidad de instalar, operar y escalar su propia infraestructura de clúster para ejecutar aplicaciones en contenedores. Con ECS, puede lanzar y detener aplicaciones basadas en contenedores mediante llamadas API simples, y obtener acceso a muchas características familiares de Amazon EC2, como grupos de seguridad, volúmenes de almacenamiento de Amazon EBS y etiquetas de instancia.ECS es un servicio administrado que se integra con otras partes de la plataforma AWS, como Elastic Load Balancing, Amazon VPC, Amazon EBS y Amazon CloudWatch. Esto permite a los desarrolladores aprovechar las capacidades de AWS para crear aplicaciones escalables y seguras. ECS también se integra con AWS Fargate, un motor de computación sin servidor para contenedores, lo que permite ejecutar contenedores sin tener que administrar servidores o clústeres.ECS admite dos modos de lanzamiento: EC2 y Fargate. El modo EC2 requiere que los usuarios administren la infraestructura subyacente, mientras que el modo Fargate es completamente sin servidor, lo que permite a los usuarios centrarse únicamente en sus aplicaciones. ECS también proporciona una consola de administración intuitiva, lo que facilita la definición de clústeres, la programación de contenedores y la supervisión del estado de las aplicaciones.ECS es una opción popular para las empresas que buscan ejecutar aplicaciones en contenedores en AWS debido a su facilidad de uso, escalabilidad y integración con otros servicios de AWS. Es especialmente útil para aplicaciones que requieren alta disponibilidad, escalabilidad automática y despliegues rápidos. Un servicio de orquestación de contenedores totalmente gestionado que facilita ejecutar y escalar contenedores Docker.
- Amazon Elastic Kubernetes Service (EKS): Un servicio gestionado que simplifica la implementación, gestión y escalado de aplicaciones containerizadas usando Kubernetes.
- Amazon Elastic Container Registry (ECR) es un servicio de registro de contenedores Docker completamente gestionado que facilita el almacenamiento, gestión y despliegue de imágenes de contenedores Docker. ECR se integra estrechamente con Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) y el AWS CLI, proporcionando una solución segura y escalable para el ciclo de vida de los contenedores.Características principales:1. Almacenamiento seguro de imágenes: ECR almacena tus imágenes de contenedores en Amazon S3, garantizando alta disponibilidad y durabilidad.2. Control de acceso: Utiliza AWS Identity and Access Management (IAM) para controlar el acceso a tus registros y repositorios.3. Escalabilidad: Escala automáticamente para manejar miles de solicitudes simultáneas sin necesidad de aprovisionar infraestructura.4. Alta disponibilidad: Los datos se replican automáticamente en múltiples zonas de disponibilidad.5. Integración con herramientas de CI/CD: Se integra fácilmente con herramientas de integración y despliegue continuo como Jenkins, CodePipeline y CodeBuild.6. Análisis de vulnerabilidades: Escanea automáticamente las imágenes en busca de vulnerabilidades conocidas.7. Compatibilidad con Docker CLI: Utiliza comandos estándar de Docker para subir y bajar imágenes.8. Gestión de versiones: Mantiene múltiples versiones de imágenes y permite el etiquetado y etiquetado automático.9. Optimización de costos: Paga solo por el almacenamiento que utilizas y el tráfico de datos.10. Cumplimiento normativo: Cumple con estándares de la industria como PCI DSS, HIPAA y GDPR.Casos de uso comunes:- Almacenamiento de imágenes de contenedores para aplicaciones desplegadas en ECS o EKS - Distribución de imágenes de contenedores entre equipos de desarrollo - Gestión del ciclo de vida de imágenes de contenedores en entornos de producción - Integración con pipelines de CI/CD para automatizar el despliegue de contenedores - Análisis de seguridad de imágenes de contenedores antes del desplieguePara comenzar a utilizar ECR, puedes crear un repositorio a través de la consola de administración de AWS, la interfaz de línea de comandos de AWS (AWS CLI) o el AWS SDK. Una vez creado el repositorio, puedes utilizar el Docker CLI para autenticarte y subir o bajar imágenes.ECR es una solución robusta y escalable para gestionar imágenes de contenedores en la nube de AWS, proporcionando una base sólida para arquitecturas de microservicios y despliegues de contenedores a gran escala. Un registro de contenedores Docker completamente administrado que facilita el almacenamiento y la gestión de imágenes Docker.
- AWS Fargate: Un motor de computación sin servidor para contenedores que te permite ejecutar contenedores sin tener que gestionar servidores o clústeres.
Configuración del entorno
Prerequisites
Before integrating Docker with AWS, you’ll need the following:
- AWS Account: Si no tienes una, puedes crear una cuenta gratuita para explorar varios servicios.
- Instalación de Docker: Asegúrate de que Docker esté instalado en tu máquina local. Puedes descargar Docker Desktop desde el sitio oficial.
- AWS CLI Installation: Instala la Interfaz de Línea de Comandos (CLI) de AWS para interactuar con los servicios de AWS directamente desde tu terminal.
Configurar AWS CLI
Tras instalar la AWS CLI, debes configurarla con tus credenciales de AWS. Usa el siguiente comando:
aws configurarYou’ll be prompted to enter your Access Key ID, Secret Access Key, Nombre de región predeterminado, and Formato de salida predeterminado. This step is crucial for enabling communication between your local environment and AWS.
Building Your Docker Application
Creando una aplicación Docker simpleEn esta sección, aprenderás a crear una aplicación Docker simple. Docker es una plataforma de contenedores que permite empaquetar aplicaciones y sus dependencias en contenedores ligeros y portátiles. Esto facilita la implementación y ejecución de aplicaciones en diferentes entornos.Para comenzar, necesitarás tener Docker instalado en tu máquina. Si aún no lo tienes, puedes descargarlo e instalarlo desde el sitio web oficial de Docker.Una vez que tengas Docker instalado, puedes seguir estos pasos para crear una aplicación Docker simple:1. Crea un nuevo directorio para tu aplicación y navega hasta él en la terminal.2. Dentro del directorio, crea un archivo llamado "Dockerfile" (sin extensión). Este archivo contendrá las instrucciones para construir la imagen de Docker.3. Abre el archivo "Dockerfile" en un editor de texto y agrega las siguientes líneas:``` FROM node:14 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["npm", "start"] ```Estas instrucciones le dicen a Docker que use la imagen base de Node.js versión 14, establezca el directorio de trabajo como "/app", copie los archivos package.json y package-lock.json, instale las dependencias del proyecto, copie el resto de los archivos del proyecto, exponga el puerto 3000 y ejecute el comando "npm start" para iniciar la aplicación.4. Guarda el archivo "Dockerfile".5. En el mismo directorio, crea un archivo llamado "package.json" con el siguiente contenido:``` { "name": "simple-docker-app", "version": "1.0.0", "description": "A simple Docker application", "main": "index.js", "scripts": { "start": "node index.js" }, "dependencies": { "express": "^4.17.1" } } ```Este archivo define los metadatos de la aplicación y las dependencias necesarias. En este caso, estamos utilizando el framework Express.js.6. Guarda el archivo "package.json".7. En el mismo directorio, crea un archivo llamado "index.js" con el siguiente contenido:``` const express = require('express'); const app = express(); const port = 3000;app.get('/', (req, res) => { res.send('Hello World!'); });app.listen(port, () => { console.log(`Server running at http://localhost:${port}/`); }); ```Este archivo contiene el código de la aplicación. En este caso, estamos creando un servidor web simple que responde con "Hello World!" cuando se accede a la ruta raíz.8. Guarda el archivo "index.js".9. Ahora, en la terminal, ejecuta el siguiente comando para construir la imagen de Docker:``` docker build -t simple-docker-app . ```Este comando le dice a Docker que construya una imagen con el nombre "simple-docker-app" utilizando el Dockerfile en el directorio actual.10. Una vez que la imagen se haya construido, puedes ejecutar un contenedor basado en esa imagen con el siguiente comando:``` docker run -p 3000:3000 simple-docker-app ```Este comando le dice a Docker que ejecute un contenedor basado en la imagen "simple-docker-app" y que mapee el puerto 3000 del contenedor al puerto 3000 de la máquina host.11. Abre un navegador web y visita http://localhost:3000/. Deberías ver el mensaje "Hello World!".¡Felicidades! Has creado y ejecutado una aplicación Docker simple. Ahora puedes modificar el código de la aplicación y reconstruir la imagen para ver los cambios reflejados en el contenedor.
A modo de demostración, creemos una aplicación Docker simple. Construiremos una aplicación básica de Node.js que responda con "¡Hola, Mundo!" al ser accedida.
Create a directory for your app:
mkdir hello-docker cd hello-dockerCrear un
package.jsonfile:{ "name": "hello-docker", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js" }, "dependencies": { "express": "^4.17.1" } }Create an
index.jsfile:const express = require('express'); const app = express(); const PORT = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('¡Hola, Mundo!'); }); app.listen(PORT, () => { console.log(`El servidor está ejecutándose en el puerto ${PORT}`); });Crear un
Dockerfile:# Use the official Node.js image FROM node:14 # Set the working directory WORKDIR /usr/src/app # Copy package.json and install dependencies COPY package.json ./ RUN npm install # Copy the application code COPY . . # Expose the application port EXPOSE 3000 # Command to run the application CMD ["npm", "start"]Construye la imagen de Docker:
Ejecuta el siguiente comando en tu terminal.
docker build -t hello-docker .Prueba la aplicación Docker localmente:
docker run -p 3000:3000 hello-dockerYou can access the application by visiting
http://localhost:3000in your browser.
Empujar imágenes de Docker a Amazon ECREn esta sección, aprenderás a empujar imágenes de Docker a Amazon Elastic Container Registry (ECR). Amazon ECR es un servicio de registro de contenedores completamente gestionado que facilita el almacenamiento, gestión y despliegue de imágenes de contenedores de Docker.Para empujar una imagen de Docker a Amazon ECR, sigue estos pasos:1. Inicia sesión en la CLI de AWS: ``` aws ecr get-login-password --region | docker login --username AWS --password-stdin .dkr.ecr..amazonaws.com ```2. Crea un repositorio de ECR: ``` aws ecr create-repository --repository-name --region ```3. Etiqueta tu imagen de Docker con el URI del repositorio de ECR: ``` docker tag : .dkr.ecr..amazonaws.com/: ```4. Empuja la imagen a Amazon ECR: ``` docker push .dkr.ecr..amazonaws.com/: ```Una vez completados estos pasos, tu imagen de Docker estará disponible en Amazon ECR y lista para ser utilizada en tus despliegues de contenedores.
Ahora que tenemos una imagen de Docker, el siguiente paso es enviarla a Amazon Elastic Container Registry (ECR) para facilitar su gestión y despliegue.
Step 1: Create an ECR Repository
- Log in to AWS Management Console.
- Ir al servicio ECR.
- Click on "Create repository."
- Provide a name for your repository, such as
hello-docker, y configure cualquier ajuste adicional según sea necesario. - Click "Create repository."
Paso 2: Autenticar Docker en ECR
Ejecute el siguiente comando para autenticar su cliente Docker en su registro de Amazon ECR:
aws ecr get-login-password --region | docker login --username AWS --password-stdin .dkr.ecr..amazonaws.comReemplazar and with the appropriate values.
Step 3: Tag and Push Your Docker Image
Now that you have authenticated, you can tag your Docker image and push it to ECR.
Etiqueta tu imagen:
docker tag hello-docker:latest .dkr.ecr..amazonaws.com/hello-docker:latestSube la imagen a ECR.
docker push .dkr.ecr..amazonaws.com/hello-docker:latest
Deploying Docker Containers on AWS
Después de subir tu imagen de Docker a ECR, es hora de desplegarla en AWS. Puedes usar ECS o EKS, pero por simplicidad, nos centraremos en ECS.
Paso 1: Crear un clúster de ECSEn este paso, crearemos un clúster de ECS (Elastic Container Service) que servirá como base para desplegar nuestras aplicaciones en contenedores. Sigue estos pasos:1. Inicia sesión en la consola de AWS y navega hasta el servicio ECS.2. Haz clic en "Crear clúster" y selecciona "Redes" como tipo de plantilla.3. Asigna un nombre a tu clúster, por ejemplo, "MiClústerECS".4. En la sección "Configuración de red", selecciona la VPC y las subredes donde deseas que se ejecuten tus tareas de ECS.5. Si lo deseas, puedes habilitar la opción "Crear un nuevo rol de IAM" para que ECS pueda interactuar con otros servicios de AWS.6. Haz clic en "Crear" para iniciar la creación del clúster.7. Una vez creado el clúster, puedes ver su estado y detalles en la consola de ECS.¡Felicidades! Has creado exitosamente un clúster de ECS. En el siguiente paso, configuraremos el entorno de ejecución para nuestras aplicaciones en contenedores.
- En la Consola de administración de AWS, navegue hasta el servicio de ECS.
- Haz clic en "Clústeres" en la barra lateral, luego haz clic en "Crear clúster"."
- Choose "Networking only" for Fargate or "EC2 Linux + Networking" for EC2 launch types.
- Configure la configuración del clúster y haga clic en "Crear"."
Step 2: Create a Task Definition
In the ECS console, click on "Task Definitions."
Click "Create new Task Definition."
Selecciona "Fargate" o "EC2" como tipo de lanzamiento.
Configurar la definición de la tarea.
- Nombre de la tarea:
hello-docker - Nombre del contenedor:
hello-docker - Imagen:
.dkr.ecr..amazonaws.com/hello-docker:latest - Memoria y CPU: Set according to your application’s needs.
- Asignaciones de puertos: Configurado para exponer el puerto
3000.
- Nombre de la tarea:
Haz clic en "Crear" para guardar la definición de la tarea.
Paso 3: Ejecución de la tarea
- Navega hasta tu clúster en la consola de ECS.
- Click on the "Tasks" tab and then "Run new Task."
- Seleccione el tipo de lanzamiento (Fargate o EC2) y elija su definición de tarea.
- Configure la red, incluyendo la VPC y las subredes.
- Haz clic en "Ejecutar tarea"."
Paso 4: Accediendo a tu aplicación
To access the application, you may need to configure a load balancer or ensure that the security group associated with the task allows incoming traffic on port 3000.
Best Practices for Docker and AWS Integration
While integrating Docker with AWS, it’s crucial to follow best practices to ensure efficient and secure deployments:
Usar builds multi-etapa: This technique can reduce image size, improve build times, and enhance security by excluding unnecessary files from production images.
Automatiza con CI/CD Utilice AWS CodePipeline o herramientas de CI/CD de terceros para automatizar los procesos de compilación, prueba e implementación de sus contenedores Docker.
Monitoreo y Registro: Implementar el registro y el monitoreo utilizando AWS CloudWatch, AWS X-Ray u otras herramientas de supervisión para realizar un seguimiento del rendimiento de la aplicación y depurar problemas.
Security Best Practices: Escanea regularmente las imágenes Docker en busca de vulnerabilidades, utiliza roles de IAM para los permisos de servicio y sigue el principio de mínimo privilegio.
Gestión de Costos: Monitor your AWS resources to avoid unnecessary costs. Use tools like AWS Budgets to set alerts for your spending.
Conclusión
Integrar Docker con AWS abre un mundo de posibilidades para implementar aplicaciones escalables y resilientes en la nube. Al aprovechar servicios de AWS como ECR, ECS y Fargate, los desarrolladores pueden optimizar sus flujos de trabajo y centrarse en crear excelentes aplicaciones. Mediante una planificación cuidadosa y el seguimiento de las mejores prácticas, las organizaciones pueden aprovechar al máximo las capacidades de la contenedorización y la computación en la nube para mantenerse competitivas en un paisaje tecnológico en constante evolución.
Publicaciones relacionadas:
- Implementación de Docker en AWS: Una Guía Completa
- Para integrar Docker con Azure, sigue estos pasos:1. **Instala Docker Desktop**: Descarga e instala Docker Desktop desde el sitio web oficial de Docker.2. **Crea una cuenta de Azure**: Si no tienes una, regístrate en el portal de Azure.3. **Instala la CLI de Azure**: Descarga e instala la CLI de Azure desde el sitio web oficial de Microsoft.4. **Inicia sesión en Azure**: Abre una terminal y ejecuta el siguiente comando para iniciar sesión en tu cuenta de Azure: ``` az login ```5. **Crea un grupo de recursos**: Un grupo de recursos es un contenedor lógico para recursos de Azure. Ejecuta el siguiente comando para crear un grupo de recursos: ``` az group create --name myResourceGroup --location eastus ```6. **Crea un registro de contenedor de Azure**: Un registro de contenedor de Azure es un registro privado para imágenes de Docker. Ejecuta el siguiente comando para crear un registro de contenedor: ``` az acr create --resource-group myResourceGroup --name myContainerRegistry --sku Basic ```7. **Inicia sesión en el registro de contenedor**: Ejecuta el siguiente comando para iniciar sesión en el registro de contenedor: ``` az acr login --name myContainerRegistry ```8. **Crea una imagen de Docker**: Crea una imagen de Docker para tu aplicación. Puedes usar el siguiente Dockerfile como ejemplo: ``` FROM nginx COPY . /usr/share/nginx/html ```9. **Crea un contenedor de Docker**: Ejecuta el siguiente comando para crear un contenedor de Docker a partir de la imagen: ``` docker build -t myapp . ```10. **Marca la imagen de Docker**: Ejecuta el siguiente comando para marcar la imagen de Docker con el nombre del registro de contenedor: ``` docker tag myapp mycontainerregistry.azurecr.io/myapp ```11. **Sube la imagen de Docker**: Ejecuta el siguiente comando para subir la imagen de Docker al registro de contenedor: ``` docker push mycontainerregistry.azurecr.io/myapp ```12. **Crea una instancia de contenedor**: Ejecuta el siguiente comando para crear una instancia de contenedor a partir de la imagen: ``` az container create --resource-group myResourceGroup --name mycontainer --image mycontainerregistry.azurecr.io/myapp --registry-login-server mycontainerregistry.azurecr.io --registry-username myContainerRegistry --registry-password ```13. **Verifica la instancia de contenedor**: Ejecuta el siguiente comando para verificar la instancia de contenedor: ``` az container show --resource-group myResourceGroup --name mycontainer ```¡Listo! Has integrado Docker con Azure. Ahora puedes desplegar y administrar tus aplicaciones de Docker en Azure.
- How do I integrate Docker with Google Cloud Platform?
- Para integrar pruebas automatizadas con Docker, puedes seguir estos pasos:1. **Crear un Dockerfile**: Define tu entorno de prueba en un Dockerfile. Esto incluye la instalación de dependencias, configuración del entorno y copia de tu código de prueba.2. **Configurar Docker Compose**: Utiliza Docker Compose para definir y ejecutar aplicaciones multi-contenedor. Esto es útil si tus pruebas requieren múltiples servicios, como una base de datos o un servidor web.3. **Ejecutar pruebas en contenedores**: Utiliza comandos de Docker para ejecutar tus pruebas dentro de los contenedores. Por ejemplo, puedes usar `docker-compose run` para ejecutar pruebas en un servicio específico.4. **Integrar con CI/CD**: Configura tu pipeline de CI/CD para construir imágenes Docker y ejecutar pruebas automáticamente. Herramientas como Jenkins, GitLab CI o GitHub Actions pueden ayudarte con esto.5. **Monitorear y depurar**: Utiliza herramientas de monitoreo y depuración para asegurarte de que tus pruebas se ejecuten correctamente y para identificar problemas rápidamente.Ejemplo de Dockerfile para pruebas:```dockerfile FROM python:3.8-slimWORKDIR /appCOPY requirements.txt . RUN pip install -r requirements.txtCOPY . .CMD ["pytest"] ```Ejemplo de docker-compose.yml:```yaml version: '3' services: test: build: . volumes: - .:/app command: pytest ```Ejecuta las pruebas con:```bash docker-compose run test ```Esto te ayudará a automatizar y simplificar el proceso de pruebas en un entorno Dockerizado.
