Introducción a Docker

Últimamente hay mucho ruido alrededor de un nuevo proyecto open source llamado Docker  asi que voy a intentar tratar de aportar mi granito de arena.

Empecemos por la descripción de Docker: “Un proyecto open source para empaquetar, distribuir y ejecutar cualquier aplicación como un contenedor ligero”. Muy bonito, pero ¿Que es un contenedor?

Un contenedor es una forma ligera de virtualizar de forma que los recursos que ya se están ejecutando en la maquina host son compartidos con los contenedores, por ejemplo los contenedores no necesitan ejecutar su propia instancia del kernel, lo que permite una carga mucho menor, así como un arranque muy rápido y una gestión simplificada de los mismos. Es decir sería algo parecido a chroot con esteroides, en el sentido de que no sólo se usa para aislar una sola aplicación.

La tecnología de contenedores es conocida desde hace mucho tiempo y existen varias, cómo lxc , openvz , FreeBSD Jails o Solaris Containers .

Entonces ¿Que aporta Docker?. Pues como su descripción indica, Docker aporta las herramientas para tratar a los contenedores como si fueran repositorios de código, es decir, combinar paquetería y código todo en uno, de forma que se puedan desplegar, clonar, hacer vuelta atrás de versiones, etcétera con un simple comando.

Otra forma de desplegar contenedores que permite docker es mediante los Dockerfile, que son recetas en las que especificas el contenedor base y todos los cambios que quieres aplicar en un solo fichero.

La tecnología Docker es reciente y por eso, y tal como dicen en su web, “Aún no está preparado para produción”, no obstante tiene mucha tracción, por ejemplo Amazón ha anunciado recientemente su soporte  

Red Hat ha anunciado el “Project Atomic” que además de Docker, usa systemd , GearD y cockpit para crear una versión de RHEL especialmente destinada a usarse como “hypervisor” de contenedores.

Red Hat también ha anunciado que ha incluido Docker en su programa de High Touch Beta de forma que los clientes que participen en este programa puedan probarlo y reportar feedback, y se espera que este incluido en RHEL 7, aunque no en las primeras versiones.

Si quereis probar Docker, recomiendo hacer el tutorial interactivo de Docker.

One thought on “Introducción a Docker

Leave a Reply

Your email address will not be published. Required fields are marked *