Docker-Engine-Arquitectura

Soporte

Nota: En este posts tenemos de una forma grafica para visualizar que componentes forman el ecosistema de docker.

-. En la parte central del sistema Docker. Nos encontramos Docker Engine, que esta instalado en la máquina host, Docker Engine que sigue arquitectura cliente-servidor.

  1. . En el centro nos encontramos el Servidor que es el (Docker-Daemo) el cual puede crear y administrar imágenes de la ventana acoplable (Docker). Contenedores, Volumenes,redes,etc.
  2. . En medio del Servidor y el Cliente nos encontramos (rest-Api) con la cual ordenamos al (Docker-Daemo) de la ventana acoplable (Docker) qué hacer.
  3. . Por ultimo en esta parte central tenemos (Cliente-Docker) Interfaz de línea de comandos (CLI) el cual lo usaremos para ingresar los comandos que necesitemos. Cuando se ejecuta un comando de docker, el cliente los envía al (Docker-Daemo), que los ejecuta. Los comandos de Docker utilizan la API de Docker.

Pasemos a los llamados Objetos-Docker :

-. Images (Docker-Registry) es donde encontramos las images-Docker, son plantillas de solo lectura con instrucciones para crear un contenedor de Docker, se puede agregar instrucciones adicionales a la imagen base y crear una imagen de Docker nueva y modificada. La imagen de Docker tiene una capa base que es de solo lectura y la capa superior se puede escribir. Cuando edita un archivo docker y lo reconstruye, solo la parte modificada se reconstruye en la capa superior.

-. Contenedores, al ejecutar una imagen de Docker , crea un contenedor de Docker. las aplicaciones y su entorno se ejecutan dentro de este Contenedor-Docker. Usare la API o CLI de Docker para iniciar, detener y eliminar un Contenedor-Docker.

Ejemplo: Crear un contenedor docker:

  1. root@juan-Aspire-ES1-512:/# docker run -it –name spark_docker -m 1024M –cpus 1 ubuntu

-. Volúmenes todos los datos persistentes y utilizados por los contenedores-Docker se almacenan en Volumes. Están administrados por Docker con el Docker CLI o Docker API. Los Volúmenes se sitúan fura del contenedor por lo tanto son persistentes al la vida del contenedor, al usar el volumen no aumenta el tamaño del contenedor.

Ejemplo:Creamos el contenedor (base-spark-volume) de la images (base-spark-hadoop:latest) :

  1. In: root@juan-Aspire-ES1-512:/# docker run -d -it –name base-spark-volume -v my_datos:/opt/app base-spark-hadoop:latest
  2. Out: e7cda957577fd8aa2c16ead90eab0af8f0756d0374df7e58f65d5bc1c2a0c5f7

-. Networ (Redes) las redes de docker son las autopistas por la cuales se comunican los contenedores-docker entre ellos un ejemplo típico un enjambre con una Red superpuesta (docker-Swarm).

 

Recapitulando:

Tenemos en este posts un ejemplo muy Visual de lo que es la arquitectura de Docker-Engine.

Referencias : (Entorno-Moreluz)