Docker ¿Qué es esto de los contenedores?

'

Hola! Bueno.. si has caído en este blog, seguramentente es porque últimamente habrás escuchado mucho hablar sobre contenedores, microservicios, etc…Así que, voy a intentar contarte de manera muy sencilla y rápida que es todo este lío de Docker, con sus imágenes y que son unas cosillas llamadas contenedores que están cambiando tanto el mundo DevOps.

Aviso, yo no soy para nada un experto, y el objetivo de este blog siempre ha sido y será una manera de afianzar mis conocimientos y aprendizaje, así que si ves algún fallo o algo que crees que se podría hacer mejor o diferente, por favor, mándame un mail y lo actualizare encantado.

Muy bien, ahora empezemos:

¿Qué hay detrás de la tecnología de contenedores y Docker?

La idea principal es crear pequeños sistemas (contenedores) que sean ligeros y portables, que puedan ser ejecutados en cualquier máquina (si, en cualquier máquina independientemente el SO que tenga instalado) siempre y cuando tenga Docker instalado.

Un momento… ¿Qué es un contenedor en Docker?

Imagina que es una caja, básicamente tu puedes meter tu aplicación ahí dentro con todas sus dependencias, por ejemplo: Imagina que tienes una aplicación en Pyton que hace maravillas y que tiene unas dependencias, pues imagina que puedes meter todo junto y que mágicamente funciona. Ahora, esa aplicación la quieres compartir, si no usaras Docker, cada vez que compartas ese código que tanto te has currado, para que alguien lo haga funcionar, debe tener las mismas versiones de las dependencias o al menos algunas que sean compatibles, ¿Verdad?. Docker facilita infinitamente uno de los pilares básicos de ingeniería informática y desarrollo del sofware se conoce como “low coupling” o bajo acoplamiento, es decir, que el código es lo más independiente posible de todo lo que le rodea.

¿Qué ventajas tiene Docker sobre Vagrant?

Básicamente la utilización de los recursos es mucho más eficiente Docker, ¿Por qué? En la imagen de arriba, se ve claramente la diferencia, cuando usamos docker, el motor de Docker ( Lo que hace que funcione) esta muy cerca el sistema operativo, lo que se traduce a rapidez y eficiencia en el uso de recursos. Sobre Docker, funcionaria nuestra app, con todas sus dependencias y servicios ( veremos más adelante qué son).

Con una máquina virtual necesitamos un Hypervisor  y un aplicativo para que funcione, en el caso de Vagrant también es necesario usar VirutalBox o VMWare. Aparte, sobre eso hay que instalar un sistema operativo que cumpla con los requisitos de nuestra aplicación y luego todas las dependencias para que nuestro código, funcione. Parece más complejo ¿verdad?

Si ahora, ese mismo entorno queremos pasarlo a producción o a un compañero, aunque no es imposible, es un poco más difícil que con Docker.

Más artículos sobre Docker

Docker

Cómo instalar Wordpress con Docker Compose

Cuando nos disponemos a desarrollar un sitio web usando Wordpress, podemos hacerlo mediante infinidad de herramientas o tecnologías, lo más...