Docker es una plataforma de software que le permite crear, probar e implementar aplicaciones de una manera sencilla. La potencia de Docker es basa en que empaqueta software en unidades estandarizadas llamadas contenedores que incluyen todo lo necesario para que el software se ejecute independientemente del sistema operativo donde se despliegue. No importa el entorno, con Docker tendremos la certeza que la aplicación se ejecutará.

Los contenedores

El concepto de contenedor es el mismo que en la vida real, existen unos contenedores con unas medidas estándar para poder ser enviado en cualquier medio de transporte ya sea barco, tren o camión. No nos importa su contenido, sino esas medidas estándar para transportarlo sin importar el medio.

Los contenedores solucionan uno de los mayores problemas en el desarrollo de aplicaciones. El cambio de un entorno de desarrollo que se realiza en una máquina local a un entrono real de producción. Mediante los contenedores podemos probar una aplicación sin preocuparnos de que nuestro código se comporte de forma distinta, ya que el contenedor estará configurado con todo lo necesario para ejecutar esa aplicación.

¿Pero, qué diferencia hay entre Docker y una máquina virtual?

Una máquina virtual (VM) virtualiza el hardware del servidor, mientras que los contenedores virtualizan el sistema operativo de un sistema. Es decir, los contenedores se ejecutan sobre el mismo sistema operativo anfitrión de forma aislada, pero sin necesidad un sistema operativo propio, ya que comparten el mismo Kernel, lo que los hace mucho más ligeros. Docker es un sistema operativo para contenedores.

Con Docker lo que hacemos es realizar la virtualización a nivel de sistema operativo trabajando directamente con el sistema operativo de la máquina ejecutando los contenedores. Cada contenedor tiene las librerías necesarias para la aplicación y no las comparte con otros contenedores. Son unidades independientes, lo que las hace más rápidas y eficientes que las máquinas virtuales.

Ventajas de utilizar Docker

  • Podemos empaquetar aplicaciones junto con sus dependencias, con esto conseguimos que nuestra aplicación sea sólida y que funcione siempre aunque cambiemos de entorno. Se acabó el mito de pasar de desarrollo a producción. Simplificando el proceso de despliegue de una aplicación.
  • No consume muchos recursos del sistema, comparado con una virtualización tradicional ya que aprovecha directamente los recursos del hardware.
  • Reducimos el esfuerzo de mantenimiento, con un contenedor nuestra aplicación o servicio se convierte en un paquete redistribuible garantizando así que su ejecución será la misma independientemente del entorno en el que corra.

Y lo más importante es un software open source, toda la información está disponible en su páginas oficial:

https://www.docker.com/

un saludo,

Axl Rose

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *