Introducción a la arquitectura Docker

Esta tecnología de Docker utiliza el kernel de Linux como Cgroups y espacios de nombres para separar el proceso y hacer que se ejecuten sin dependencias. Esta característica independiente es la que convirtió a Docker en exitosa al ejecutar instancias o aplicaciones individuales al mismo tiempo y mejor utilización de la infraestructura. Las herramientas Docker y contenedor proporcionan un modelo de implementación basado en imágenes que facilita compartir una aplicación en múltiples entornos. Las herramientas construidas en la parte superior de los contenedores hacen que Docker sea único, rápido, flexible, independiente y fácil de usar. En este tema, vamos a aprender sobre Docker Architecture.

¿Qué es Docker?

La palabra Docker comprende varias cosas como herramientas de un proyecto de código abierto, el principal defensor del proyecto y las herramientas que la empresa apoya directamente. En el campo de TI, Docker es una tecnología de contenedorización que se usa para crear y usar contenedores de Linux. La comunidad de docker de código abierto trabaja para mejorar estas tecnologías para obtener más beneficios para los usuarios. La empresa que se basa en la comunidad Docker la hace más confiable, segura y facilita y comparte la característica avanzada de la empresa. Con Docker, es fácil controlar los contenedores, como máquinas ligeras, modulares y virtuales, y también se utiliza para crearlos, implementarlos, copiarlos y moverlos de los alrededores al entorno.

Arquitectura Docker

Docker Engine es una parte importante del sistema completo. Docker Engine es un servicio que cumple con la infraestructura cliente-servidor que se configura en la máquina invitada.

Los tres componentes importantes son

  1. Servidor: El servidor es el demonio docker llamado dockerd que puede administrar y crear contenedores Docker, imágenes, redes, etc.
  2. Rest API : Rest API controla docker daemon en sus procesos
  3. CLI: Command Line Interface es una interfaz de usuario que se utiliza para ingresar comandos en la ventana acoplable

Cliente Docker: los usuarios de Docker pueden comunicarse con Docker a través del host. Si se ejecuta algún comando de Docker, el host los mueve a Docker Daemon, que los elimina. La API de Docker se maneja mediante comandos del Docker. El cliente Docker puede permitir interactuar con múltiples instancias.

Registros Docker: Docker Hub es el lugar de almacenamiento para las imágenes Docker de un registro público. Puede usarse como un registro de acoplador privado o un registro de acoplador público. Los clientes también pueden crear y ejecutar su propio registro privado

Docker Objects

Los clientes que funcionan con Docker usan volúmenes, contenedores, imágenes, redes y todos los objetos de Docker disponibles.

1. Imágenes

Las imágenes de la ventana acoplable están en estándar de solo lectura con comandos para diseñar un nuevo contenedor de ventana acoplable. La imagen de la ventana acoplable puede recuperarse de un centro de la ventana acoplable y utilizarse. Puede agregar pasos adicionales a la última imagen y diseñar una imagen acoplada modificada. Un cliente puede crear sus imágenes acoplables utilizando un archivo acoplable. El primer paso es crear un contenedor que cree un archivo acoplable y con las instrucciones requeridas cree su propia imagen acoplable. Imagen de Docker, una capa debajo es de solo lectura, y la primera capa se puede escribir. Un cliente puede editar y modificar solo la capa superior de una imagen acoplable.

2. Contenedores

El contenedor Docker se crea después de ejecutar una imagen acoplable. Todas las instancias y aplicaciones se ejecutan dentro del contenedor. Un cliente puede usar Docker API para eliminar, iniciar o detener el contenedor.

Este es un comando de muestra para ejecutar un contenedor acoplable:

docker run -i -t ubuntu / bin / bash

3. Volúmenes

Los datos actuales ejecutados por Docker son utilizados por los contenedores Docker y guardados en Volúmenes. Todo el sistema se controla a través de API si está acoplado. Volúmenes aplicados en plataformas Linux y Windows. En cambio, para editar información en una capa editable del contenedor, es mejor utilizar volúmenes para escribir El contenido del volumen está presente fuera del contenedor, por lo que no afecta el tamaño y las propiedades del contenedor.

use el indicador -v o –mount para iniciar un volumen en un contenedor.

Si el cliente usa un volumen geek con el contenedor,

docker run -d –name geekflare -v geekvolume: / app nginx: último

4. Redes

La conexión en red de Docker es un pasaje de comunicación para todos los contenedores aislados.

Los controladores de red en la ventana acoplable: el puente es el controlador de red fijo para un contenedor. los clientes ocupan esta red para aplicaciones que se ejecutan en contenedores autoportantes, es decir, muchos contenedores que interactúan con hosts de acopladores comunes. El host es un controlador que elimina la segregación de red entre los contenedores docker y el host docker.

Superposición: la red presta servicios de equipo para interactuar con otros. Esto se aplica solo si el contenedor se está ejecutando en múltiples servicios de invitado o equipo de Docker generados por muchas aplicaciones. Un controlador desconecta todas las redes se llama como un controlador Ninguno

Macvlan: el controlador asigna una dirección única en MAC a todos los contenedores para parecerse a ellos como sistemas de hardware. Controlan el tráfico entre contenedores con sus direcciones MAC. La red está habilitada si es necesario. por ejemplo, cuando la migración de la configuración de la máquina virtual.

Beneficios de Docker

Veamos algunos de los beneficios de Docker

  • Retorno de la inversión y ahorro de costos: Docker puede reducir el costo al facilitar recursos mínimos de infraestructura. Permite que el sistema de ingeniería sea rentable debido a las amplias aplicaciones que se ejecutan en una configuración simple
  • Estandarización y productividad: Docker proporciona estandarización al proporcionar desarrollo, implementación y pruebas continuas a los servidores en el entorno de producción. Es rápido, lo que permite realizar repeticiones y redundancia.
  • Eficiencia de CI: construye la imagen del acoplador y la misma se usa de manera efectiva para todo el proceso de implementación.
  • Compatibilidad y mantenibilidad: es más portátil y fácil de instalar y depurar.
  • Simplicidad y configuraciones más rápidas: los datos se pueden crear y destruir en una fracción de segundos en un rango asequible en un tiempo de respuesta mínimo.
  • Implementación rápida: gestiona la implementación en segundos para una amplia gama de entornos
  • Implementación y pruebas continuas: Docker garantiza entornos lógicos desde el desarrollo hasta la producción. Los contenedores Docker están configurados para administrar todas las configuraciones y dependencias internamente. Por lo tanto, el cliente puede usar el mismo contenedor desde el desarrollo hasta la producción sin discrepancias o intervención manual.

Conclusión - Docker Architecture

Docker admite plataformas multi-nube como AWS, GCP y permite que las instancias se ejecuten dentro de instancias amazon EC2, servidores de espacio en rack o caja virtual. También es compatible con Microsoft Azure, pila abierta para administrar Chief, Puppet y Ansible. El beneficio de usar Docker es la seguridad. Docker comprueba que las instancias que se ejecutan en contenedores están completamente separadas y aisladas entre sí, proporcionando control sobre el flujo y la gestión del tráfico. cuando un cliente ejecuta un comando Docker Pull o Docker Run, la imagen Docker deseada se extrae del registro configurado. Cuando un cliente ejecuta un comando push docker, la imagen del docker se almacena en el registro configurado.

Artículos recomendados

Esta es una guía de Docker Architecture. Aquí discutimos la arquitectura, los objetos y los beneficios de Docker con los controladores de red. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. ¿Qué es el enjambre de Docker?
  2. Instalar Docker
  3. Docker Alternatives
  4. Comandos Docker
  5. Docker Swarm Architecture

Categoría: