Que es Docker?

Carlos López
3 min readMay 30, 2019

En español para no programadores ;)

Fig.1 — Contenedores y Docker

Me meti a un curso de cloud Infrastructure, a fin de poder eficientar la infraestructura de nuestros proyectos.

Ahora vamos aprendiendo Docker, que siempre fue una interrogante, y no encontraba una persona que me pudiera explicar de manera sencilla lo que es y como funciona. En este post, asumire este reto.

Primero debemos entender: que es un contenedor?

Un contenedor, viene de la analogía de los contenedores de carga, esos que vemos en los trailers, o los que vemos en los barcos de carga). También podriamos decir, que son como piezas de Lego. La imagen del principio es muy explicativa.

Dentro del mundo de TI, un contenedor es una pequeña instancia, que debe ser:

Ejecutable + Ligera + Autonoma

Debe contar con todo los necesario para su ejecución.

Esta instancia tiene su propio sistema operativo y sus binarios/librerias, para ejecutar su aplicación.

Fig.2 — Ejemplo de Contenedor

El objetivo es que cada contenedor se ejecute para actividades especificas. Nuevamente la imagen del principio es muy explicativa, ahí podemos observar un contenedor para PHP, otro para el servidor web Apache Kafka, otro para Spark, etc.

Cada contenedor funciona sobre la “infrastructura” de su equipo host, que puede tener otro Sistema Operativo, lo que hace a los contenedores “independientes” de la plataforma de su host.

Nota: la tecnología de los contenedores existe desde los 80s, sin embargo por la dificultad gestionarlos, no se habian hecho populares para su uso.

Ahora sí: Que es Docker?

Docker llega en 2013, como respuesta a resolver justamente esa dificultad para gestionar contenedores.

Podemos decir que:

Docker es una plataforma de gestión, que aprovecha los contendores de Linux para desplegar aplicaciones.

Fig. 3 — Ejemplo de aplicaciones en contenedor, gestionadas por Docker.

Como se observa en la Fig.3, los tres contenedores sirven aplicaciones diferentes e independientes, con sus respectivas librerias y con sistemas operativos distintos. Estos son gestionados por la plataforma de Docker en un host con su propia infraestructura y sistema operativo.

Las ventajas más importantes que resalto son:

  • Si en algún momento uno de los contenedores se cuelga o cae, no afecta a los otros dos, y Docker vuelve a levantar el contenedor caido.
  • La autonomía de cada contenedor, nos permite portabilidad. Lo que significa que si el contenedor o los tres contenedores funcionan en un host con ciertas características, tendrían que funcionar en cualquier otros host de características diferentes, siempre y cuando tengan docker instalado.

Espero haber cumplido el objetivo de explicar “que es Docker?” de manera sencilla. Nuevamente gracias por leerme!!! Me gustaría escuchar tus comentarios y sugerencias para nutrir este post.

Si te gusto y te es útil compartelo! y dale un 👏 (en los iconos de la izquierda) para que más personas vean este artículo. Comparte el conocimiento en tus redes sociales!

--

--