Docker Engine, también conocido como Docker Daemon, es la capa que tiene la función de encargarse de todo lo relacionado con el sistema operativo y los contenedores Docker. Esta tecnología se basa en la contenedorización de tipo open source, que contribuye a crear y contener las aplicaciones del usuario.
Funciona como una app cliente-servidor. Le ofrece a sus usuarios una Interfaz de Programación de Aplicaciones (API) que los abstrae de distintas responsabilidades y labores tediosas en el sistema. Esta API se encarga también de establecer las interfaces que los programas pueden utilizar con el objetivo de hablar y darle instrucciones al Docker Daemon.
Además de esto, Docker Engine resulta necesario para poder ejecutar contenedores Docker en cualquier sistema. Así pues, para que entiendas en qué consiste, te contaremos más acerca del docker engine.
Características de Docker Engine
A continuación te listaremos algunas de las características más importantes del docker engine.
CLI
El Cliente de Interfaz de Línea de Comandos (CLI) de Docker Engine (denominado "docker"
) ayuda a interactuar con la plataforma, pues permite gestionar el Docker Deamon mediante el uso de secuencias de comandos, así como comandos directos de la CLI. Además, otras de las aplicaciones de Docker también usan la API y la CLI del sistema.
Este daemon cumple la función crear y administrar objetos Docker Engine, como es el caso de las imágenes, contenedores, redes y volúmenes de la plataforma.
Dockerd
🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴
Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semanaEl comando dockerd
hace referencia al proceso del propio Engine, es decir, el proceso persistente que se encarga de la gestión de los contenedores. Docker Engine usa diversos binarios tanto para el deamon como para el cliente.
Este comando de docker engines es compatible con una serie de variables de entorno, dentro de las que se incluyen:
- DOCKER_DRIVEREl: se refiere al controlador de gráfico a usar.
- DOCKER_NOWARN_KERNEL_VERSION: funciona para evitar las advertencias que indican que el kernel de Linux no es adecuado para Docker.
- DOCKER_TMPDIR: se refiere a la ubicación de los archivos temporales de Docker.
Docker Networking
Otra de las características de Docker Engine es que cuenta con tres modelos de red:
- Bridge: hace referencia al Networking
docker
, es decir, el modelo de red predeterminado por el sistema. - None: se encarga de agregar contenedores a una pila de red específica del contenedor, aunque también puede separarse de este y dejarse en ejecución.
- Host: cumple la función de agregar contenedores a la pila de red del host sin aislamiento entre la máquina host y el contenedor.
Swarm mode
A partir de la versión 1.12, Docker Engine incorpora el servicio de Docker Swarm de forma directa en el motor, razón por lo que el servicio de orquestación cambió su nombre a Swarm mode. Las versiones que incluyen este elemento tienen el Swarm mode como servicio de orquestación y agrupación preestablecido, aunque este no es el único que resulta compatible con la plataforma de Docker.
Plugins del Docker
Docker Engine puede utilizar varios plug-ins. Estos están disponibles como imágenes dispuestas en un registro, en el propio Docker Hub o bien en una fuente pública como GitHub.
Con estos plug-ins o plugins, Docker Engine crea un volumen de datos con imágenes de contenedor a la vez, incluiyendo datos copiados de otra imagen superior. Estos volúmenes se pueden compartir, y son reutilizables en otros contenedores, pues Docker Engines no borra estos volúmenes.
En este artículo has aprendido qué es Docker Engine; ahora, no dudes en empezar o continuar tu proceso de formación en nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde solo necesitarás 6 meses para dominar todo lo imprescindible para convertirte en un experto dentro del sector IT. ¡Inscríbete ya y sigue aprendiendo!