¿Qué es Docker y cómo funciona?

docker 00

Si eres nuevo en el mundo de los contenedores seguro que has oído hablar muchas veces de Docker, te preguntaras, ¿Qué es Docker?

Docker es una tecnología opensource que permite gestionar contenedores de una forma sencilla, crea un conjunto de herramientas para extender y generalizar el uso de contenedores. A través de él podemos crear, desplegar y ejecutar aplicaciones mediante el uso de los contenedores. Es decir, Docker brinda una serie de herramientas o facilidades que nos permiten administrar el ciclo de vida de los contenedores.

Docker nos da la oportunidad de empaquetar aplicaciones o servicios dentro de los contenedores e integrar diversos procesos, es por eso que hoy en día es utilizado en casi todos los proyectos que incorporan contenedores.

Sus funcionalidades nos permiten realizar un modelo de un único despliegue de aplicaciones. Esto comporta una reducción de tiempos de configuración de los entornos, tiempos de despliegue, etc… En definitiva, mejorando el tiempo de puesta en producción de las aplicaciones.

El concepto principal es que las aplicaciones se empaquetan con todas las funcionalidades que necesitan para ser ejecutadas. De este modo, independientemente del entorno en el que ejecutemos el contendor, este siempre se ejecutara del mismo modo.

docker 1

Imágenes Docker

Para que todo esto sea posible, Docker utiliza los conceptos: imagen y contenedor. La imagen se utiliza para definir todas las funcionalidades que necesita la aplicación. Estas funcionalidades pueden ser diferentes y pueden ser desde definir cómo tienen que ser los contenedores en los que corre la aplicación, qué paquetes son necesarios para que se ejecute la aplicación, sus versiones, puertos a abrir…

Cualquier modificación que sea necesaria en el futuro se realizara sobre la imagen. Cuando queremos ejecutar una imagen lo que tenemos que hacer es instanciarla de manera particular en lo es el contenedor. Podemos crear tantas instancias de una imagen como queramos.

Para instanciar una imagen, simplemente tenemos que utilizar la aplicación de Docker con el siguiente comando:

docker 2

Beneficios de utilizar contenedores con Docker

Docker no es un hypervisor que virtualiza el hardware sobre el cual corre un sistema operativo. Lo que hace Docker es usar las funcionalidades del Kernel para encapsular un sistema, de este modo el servicio/s que se ejecutan dentro del contenedor actuara como un servicio normal y corriente. Los contenedores se encuentran aislados entre sí y se comportan como máquinas independientes.

Algunas de las características o beneficios que se le atribuyen al uso de contenedores con Docker son:

  • Los contenedores son más ligeros que las máquinas virtuales, ya que trabajan directamente sobre el Kernel del sistema operativo.
  • Mayor portabilidad.
  • Menor consumo de recursos de la máquina física.
  • No es necesario instalar un sistema operativo por contenedor.
  • Mayor cantidad de contenedores por equipo físico.

La herramienta de Docker beneficia tanto a los desarrolladores como a los administradores. Por un lado, los desarrolladores se pueden focalizar en el desarrollo del código de la aplicación, dejando de lado la preocupación de configurar su infraestructura, mientras que los administradores de sistemas pueden estandarizar los sistemas que tienen que controlar y reducir el consumo de los mismos.

Además nos permite separar las aplicaciones de la infraestructura y así podremos desplegar nuestro software de un modo más eficaz y rápido, como hemos comentado anteriormente, acortando los tiempos de puesta en producción.

Cómo conclusión…

Esperamos que este artículo te haya servido para conocer o entender mejor que es Docker y cómo funciona así como sus beneficios y/o características.

Si consideras que se ha quedado algo en el tintero o tienes alguna duda, ¡estamos a tu disposición!