Skip to content

En la sección anterior, sentamos las bases para entender qué es un contenedor y comprendimos algunas de las diferencias clave entre las máquinas virtuales y los contenedores. En esta sección, profundizaremos específicamente en cómo Docker simplifica el proceso de construcción y despliegue de contenedores.

Una de las razones clave por las que Docker ha sido líder de la industria en el espacio de contenedores es que crea herramientas sencillas y un enfoque de empaquetado universal que agrupa todas las dependencias de la aplicación dentro de un contenedor, el cual luego se ejecuta en el Docker Engine.

¿Qué es el Docker Engine? ​

El Docker Engine permite que las aplicaciones contenedorizadas se ejecuten de manera consistente en cualquier lugar y sobre cualquier infraestructura, resolviendo problemas de dependencias para los equipos de desarrollo y operaciones, y eliminando el problema de "¡funciona en mi laptop!". El Docker Engine abarca un conjunto completo de características y herramientas para ayudar a los usuarios a ser lo más eficientes posible al trabajar con contenedores. Las tres características y capacidades clave impulsadas por el Docker Engine se pueden resumir de la siguiente manera:

  • Impulsado por containerd, que es un tiempo de ejecución de contenedores (container runtime) estándar de la industria con énfasis en la simplicidad, robustez y portabilidad.

  • Integración con Buildkit, que es la característica más utilizada de Docker Engine. Docker Buildkit se usa principalmente para construir imágenes a partir de un Dockerfile (profundizaremos en esto en el Módulo 2).

  • Simplicidad y accesibilidad de la Docker CLI, que se destacará a lo largo de todo este workshop.

En términos de aportar valor comercial inmediato, el Docker Engine ayuda a las empresas de todos los tamaños a lograr los siguientes tres beneficios:

  • Acelera la innovación: Docker Engine constituye la base común que sustenta la plataforma Docker Enterprise, permitiendo que los desarrolladores y operadores conviertan ideas en realidad de forma rápida y segura al proporcionar la capacidad de desarrollar y enviar código de manera más rápida y eficiente.

  • Libertad de elección para equipos de desarrollo y operaciones: El Docker Engine soporta cualquier tipo de aplicación. Aplicaciones legadas, nativas de la nube (cloud-native), monolíticas, aplicaciones de 12 factores e incluso funciona con múltiples sistemas operativos en todos los proveedores de nube. El Docker Engine también está validado para trabajar con Kubernetes CRI.

  • Seguridad intrínseca: El Docker Engine fue construido pensando en la seguridad. Con Docker Content Trust y la validación FIPS 140-2, los usuarios de Docker Engine pueden ejecutar aplicaciones contenedorizadas en entornos altamente regulados.

Descripción General de Docker Engine ​

Docker

Bajo el capó, Docker Engine es una aplicación cliente-servidor con los siguientes componentes principales:

  • Un servidor, que es un tipo de programa de larga duración llamado proceso demonio (daemon) (el comando dockerd).

  • Una API REST, que especifica las interfaces que los programas pueden usar para hablar con el demonio e instruirle qué hacer.

  • Una interfaz de línea de comandos (CLI) (el comando docker).

La CLI utiliza la API REST de Docker para controlar o interactuar con el demonio de Docker a través de scripting o comandos directos de la CLI. Muchas otras aplicaciones de Docker utilizan la API y la CLI subyacentes.

El demonio crea y gestiona objetos de Docker, como imágenes, contenedores, redes y volúmenes.

Para aprender más sobre algunas de las diferentes tecnologías mencionadas en esta sección, hemos agregado enlaces para educación adicional:

En la siguiente sección aprenderemos qué es una imagen de contenedor y cómo esto nos ayudará a entender qué es una imagen de Docker.

Released under the GPL-3.0 License.