Gestionar contenedores con Docker

  • 0.0
  • (No reviews)

Description

¿Qué es Docker?

La idea detrás de Docker es crear contenedores ligeros y portables para las aplicaciones software que puedan ejecutarse en cualquier máquina con Docker instalado, independientemente del sistema operativo que la máquina tenga por debajo, facilitando así también los despliegues.
¡Ala! Definición traducida de la documentación oficial, demasiada información en pocas frases, no me entero de nada. Bien, empecemos por lo primero ¿qué es un contenedor?
Este concepto ya es antiguo, y viene de Linux, pero por hacerte un símil con el mundo real, imagina en tu cabeza un contenedor de esos que suelen llevar los barcos de mercancías, que contiene distintos productos.

Es algo auto contenido en sí, que se puede llevar de un lado a otro de forma independiente, es portable.


Ahora, volviendo al software, para que podamos acceder como usuarios normales a una aplicación, dicha aplicación software necesita estar ejecutándose en una máquina, en un ordenador. Pero además, dependiendo del tipo de aplicación, dicho ordenador también necesita tener instaladas una serie de cosas para que la aplicación se ejecute correctamente: cierta versión de Java instalado, un servidor de aplicaciones (p.e tomcat, que es el software que realmente estará ejecutando mi aplicación y haciendo que pueda interactuar con ella).


Docker, me permite meter en un contenedor (“una caja”, algo auto contenido, cerrado) todas aquellas cosas que mi aplicación necesita para ser ejecutada (java, Maven, tomcat…) y la propia aplicación. Así yo me puedo llevar ese contenedor a cualquier máquina que tenga instalado Docker y ejecutar la aplicación sin tener que hacer nada más, ni preocuparme de qué versiones de software tiene instalada esa máquina, de si tiene los elementos necesarios para que funcione mi aplicación , de si son compatibles…


Yo ejecutaré mi aplicación software desde el contenedor de Docker, y dentro de él estarán todas las librerías y cosas que necesita dicha aplicación para funcionar correctamente.


En la fecha en la que se ha escrito el post, tienes que tener en cuenta que Docker utiliza ciertos aspectos de Linux,

¿Qué beneficios tiene esto?

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é.
José, teniendo Docker instalado en su ordenador, puede ejecutar la aplicación a través del contenedor, sin tener que instalar nada más.
Por eso Docker también es muy bueno para el testing, para tener entornos de pruebas. Por un lado, es muy sencillo crear y borrar un contenedor, además de que son muy ligeros, por lo que podemos ejecutar varios contenedores en una misma máquina (donde dicho contenedor tendría el entorno de nuestra aplicación: base de datos, servidor, librerías…). Por otro, un mismo contenedor funcionará en cualquier máquina Linux: un portátil, el ordenador de tu casa, máquinas alojadas en Amazon, tu propio servidor…
Esto además beneficia a la parte de sistemas, ya como los contenedores son más ligeros que las máquinas virtuales, se reduce el número de máquinas necesarias para tener un entorno.
Y lo que es mejor, Docker es open source.
Pero Docker también tiene otras ventajas. En el post de la semana que viene hablaré un poco más de cuáles son los principales elementos de Docker, y veremos otros beneficios que aporta la herramienta.

Course Info

Created by Luis Guevara Matias
38 minutes on-demand video
5 lectures
167+ students enrolled
0.0 rating from 0+ reviews
Spanish language
Created on October 26, 2022
Category: Development

Ad

Share this course:

Frequently Asked Questions

  • How long is a coupon valid?

    Coupons are issued by instructors to promote their courses, gain traction and reach momentum. The instructor can choose to emit discounted (ex: $11.99 coupon) or 100% off coupon (you pay nothing). Each coupon becomes expired when emitted quota is over (1000 enrollments) OR expiration date has been reach (5 days).

  • What is this "1000 enrollments" from Udemy?
  • Could you please help me to find a coupon for this course?
  • What is exactly your relationship with Udemy?

© 2021–2025 INFOGNU — Made with ❤️ for the World.