En este módulo, construirá la imagen del contenedor para su aplicación monolítica node.js y la enviará a Amazon Elastic Container Registry. Empezar a construir
Los contenedores también le permiten empaquetar con facilidad el código de una aplicación, sus configuraciones y sus dependencias en componentes esenciales de uso sencillo que aportan uniformidad de entorno, eficacia operativa, productividad para los desarrolladores y control de versiones. Los contenedores pueden ayudarle a garantizar una implementación rápida, consistente y fiable de las aplicaciones independientemente del entorno.
Velocidad
El lanzamiento de un contenedor con una nueva versión de código puede realizarse sin considerables gastos generales de implementación. La velocidad operativa se mejora porque el código creado en un contenedor en un equipo local del desarrollador puede desplazarse fácilmente a un servidor de prueba simplemente moviendo el contenedor. Al momento de crear, este contenedor puede enlazarse a otros contenedores necesarios para ejecutar la pila de aplicaciones.
Control de dependencia y canalización mejorada
Una imagen de contenedores Docker es una captura de un determinado punto en el tiempo del código y de las dependencias de una aplicación. Esto le permite a una organización de ingeniería crear una canalización estándar para el ciclo de vida de la aplicación. Por ejemplo:
- Los desarrolladores crean y ejecutan el contenedor a nivel local.
- El servidor de integración continua ejecuta el mismo contenedor y las pruebas de integración frente al contenedor para asegurarse de que supere las expectativas.
- El mismo contenedor se envía a un entorno de almacenamiento donde su tiempo de ejecución se puede comprobar mediante pruebas de carga o control de calidad manual.
- El mismo contenedor se envía a la producción.
La posibilidad de crear, probar, enviar y ejecutar el mismo contenedor a través de todas las fases de la canalización de integración e implementación facilita la entrega de una aplicación de alta calidad y de confianza considerablemente más fácil.
Densidad y eficiencia de recursos
Los contenedores facilitan la eficacia de recursos mejorada al permitir múltiples procesos heterogéneos para ejecutarse en un único sistema. La eficacia de recursos es un resultado natural de las técnicas de asignación y aislamiento que usan los contenedores. Los contenedores pueden restringirse para consumir determinadas cantidades de la CPU y memoria de un host. Al comprender qué recursos necesita un contenedor y qué recursos se encuentran disponibles en el servidor del host subyacente, puede ajustar el tamaño de los recursos informáticos que utiliza con los hosts más pequeños o aumentar la densidad de los procesos que se ejecutan en un único gran host, al aumentar la disponibilidad y optimizar el consumo de recursos.
Flexibilidad
La flexibilidad de los contenedores Docker se basa en función de su portabilidad, la facilidad de implementación y tamaño pequeño. A diferencia de la instalación y configuración necesarias en una máquina virtual, los servicios de empaquetado dentro de contenedores les permiten moverse fácilmente entre hosts, aislados de errores de otros servicios adyacentes, y protegidos de las actualizaciones de software o parches descarriados en el sistema del host.