Docker es una plataforma creada con el fin de desarrollar, implementar y ejecutar aplicaciones dentro de contenedores. Lo cual permite a los desarrolladores realizar el empaquetado de nuestras aplicaciones junto a sus correspondientes dependencias dentro de una unidades estandarizadas conocidas bajo el término de contenedores de software.
Aunque existen distintos tipos de implementaciones de contenedores, el más famoso motor para crear contenedores de software es Docker.
Un contenedor, por tanto, realmente nos permite encapsular, es decir, empaquetar un software dentro de dicho contenedor utilizando la arquitectura de microservicios.
Vamos a explicar los estos elementos con más detalle:
Docker es una herramienta diseñada para beneficiar tanto a desarrolladores, testers, como administradores de sistemas, en relación a las máquinas, a los entornos en sí donde se ejecutan las aplicaciones software, los procesos de despliegue, etc.
En el caso de los desarrolladores, el uso de Docker hace que puedan centrarse en desarrollar su código sin preocuparse de si dicho código funcionará en la máquina en la que se ejecutará.
Por ejemplo, sin utilizar Docker un posible escenario podría ser el siguiente (hay otras formas de solucionar este escenario, pero por poner un ejemplo claro):
– Pepe tiene en su ordenador instalado Java 8, y está programando una funcionalidad específica de la aplicación con algo que solo está disponible en esa versión de Java.
– José tiene instalado en su máquina Java 7, porque está en otro proyecto trabajando sobre otro código, pero Pepe quiere que José ejecute el código de su aplicación en su máquina. O José se instala Java 8, o la aplicación en su máquina fallará.
Este escenario desaparece con Docker. Para ejecutar la aplicación, Pepe se crea un contenedor de Docker con la aplicación, la versión 8 de Java y el resto de recursos necesarios, y se lo pasa a José.
Puede que cuando he hablado de que en un mismo ordenador podemos tener varios contenedores Docker te hayas preguntado: ¿y esto no es lo mismo que una maquina virtual?
Realmente el concepto es algo similar, pero un contenedor no es lo mismo que una máquina virtual. Un contenedor es más ligero, ya que mientras que a una máquina virtual necesitas instalarle un sistema operativo para funcionar, un contenedor de Docker funciona utilizando el sistema operativo que tiene la máquina en la que se ejecuta el contenedor.
Digamos que el contenedor de Docker toma los recursos más básicos, que no cambian de un ordenador a otro del sistema operativo de la máquina en la que se ejecuta. Y los aspectos más específicos del sistema que pueden dar más problemas a la hora de llevar el software de un lado a otro, se meten en el interior del contenedor.
Aprende inglés sin gastar un peso. Fundación Carlos Slim lanza plataforma con recursos certificados internacionalmente.…
Curso completo de Python por IBM: desde básico hasta APIs. Certificación gratuita con ejercicios prácticos.…
Universidad abre inscripciones para curso gratuito de Python. Aprende desde cero con respaldo académico y…
Inicia tu carrera en ciberseguridad con CISCO. Curso gratuito con certificación oficial y contenido en…
Fundación Carlos Slim presenta catálogo 2024 de cursos gratuitos. Capacítate en línea y obtén certificación…
Descubre los cursos gratuitos de Google con certificación oficial. Aprende marketing digital, desarrollo web y…