¿ Que son los contenedores en Linux ?

in #spanish7 years ago (edited)

containers.jpg

Son conjunto de herramientras que nos brindan una forma de poder ejecutar nuestras aplicaciones, ya sea para servidores o usuarios normales, sin tener que alterar nuestro sistema operativo (Ubuntu, Fedora, Arch Linux, etc).

Hagamos un ejemplo:

  • Yo quiero instalar Apache en mi computadora con Ubuntu.

Lo que se haria normalmente es:


sin-contenedor.png

Como vemos, tenemos nuestra computadora, sobre esta misma está instalado Ubuntu 16.04, y hemos instalado apache en el sistema.

Ahora bien, que sucede cuando nosotros queremos desplegar esta misma aplicación en otra computadora, tendriamos que seguir los mismos pasos, buscar el repositorio, configurarlo, hacer pruebas y demas cosas.

Este problema viene a resolver los contenedores. Nosotros solo debemos instalar, ya sea Docker, LXC (LinuX Containers), OpenVZ, para que todo esto pueda resolverse. Agregando asi una capa de software sobre nuestro sistema operativo, el que será usado para poder administrar nuestras aplicaciones.

Ahora, nuestra ejemplo anterior quedaria asi:


docker-containers.png

Si bien tenemos ahora nuestro Ubuntu con Docker instalado, tambien podemos ver que sobre Docker hay dos "contenedores", uno ejecuta apache y otro por separado ejecuta NGINX.

Estas aplicaciones ahora pueden ser exportadas, compartidas, tal cual la tienes tu configurada, funcionara sin ningun problema en otra PC que tenga Docker instalado.

Cabe resaltar que todas las aplicaciones dentro de los contenedores son independientes y no comparten ningun tipo de ficheros. Pero si se desea se puede vincular un contenedor con otro para poder realizar aplicaciones mas complejas.