Docker: Introducción

¿Qué es Docker?

Es una herramienta de código abierto que se basa en el uso de contenedores para automatizar el despliegue de aplicaciones. Con ella se consigue total independencia entre las aplicaciones y la infraestructura.

La portabilidad de una aplicación entre máquinas con diferente sistema operativo o recursos instalados se puede hacer de forma inmediata. Basta con crear un contenedor con la aplicación y todos los recursos que esta necesite. Cualquier máquina con docker instalado podrá ejecutarla.

Contenedor vs. Máquina virtual

Entonces, ¿Docker es una máquina virtual? Es una pregunta que escucho mucho referente a este tema. La respuesta es no.

Para entender las diferencias veamos una comparación entre las dos arquitecturas:

Máquina virtual

Ejecuta un sistema operativo invitado en el que se instalará y ejecutará la aplicación. Esto implica mayor número de recursos, puesto que obliga a incluir todas las dependencias y configuraciones del sistema (algunas complejas de replicar), además de las propias de la aplicación.

Contenedor

Solo incluye la aplicación y sus dependencias (que son independientes del sistema).
Los contenedores comparten un único kernel (el del sistema anfitrión) y se comportan como procesos nativos que se pueden gestionar mediante el uso de comandos Docker (similares al ps de Linux).

Deja una respuesta

Subir ↑