¿Que es Docker?
Es una plataforma de código abierto que permite crear, empaquetar, probar y ejecutar aplicaciones rápidamente.
Docker está desarrollada para empaquetar software en unidades estandarizadas llamadas contendores, que incluyen lo necesario para que el software se ejecute.
Usamos Docker dentro de los equipos para ayudar a los desarrolladores puedan acelerar la entrega de aplicaciones de una forma ágil y moderna entre otros beneficios.
👨💻 Como funciona Docker
Docker funciona de forma similar a una máquina virtual, pero elimina gran parte de las cosas que no son necesarias para ejecutar Cualquier aplicacion de software, en esté caso en Docker se busca llevar solamente las dependencias necesarias que requieren los productos para funcionar, dándonos grandes ventajas a la hora de compartir con nuestros compañeros o en otros ocaciones hasta desplegar a producción de una forma facilmente.

⚙️ Docker Engine
Es el motor que corre detrás de Docker es el encargado de construir las imágenes, gestionar el contendor, redes, volúmenes, etc. este corre dos partes:
- Docker demon: corre en segundo plano.
- Docker CLI: la herramienta que usamos para interactuar con el demon.
🛠️ Cuadro de comparación
Algunas de las caracteristicas que tenemos son las siguiente:
Característica | Máquina Virtual (VM) | Contenedor Docker |
---|---|---|
Aislamiento | Fuerte (SO completo por VM) | Moderado (comparten el núcleo del SO) |
Inicio | Lento (minutos) | Rápido (segundos) |
Uso de recursos | Alto | Bajo |
Portabilidad | Menor | Alta |
Tamaño | Grande (GBs) | Pequeño (MBs) |
Dependencias | Incluye SO completo | Solo las necesarias para la aplicación |
Rendimiento | Menor eficiencia por virtualización | Alta eficiencia por compartir kernel |
Gestión | Más compleja | Simplificada con herramientas Docker |
😄 ¿Porque usar Docker?
- Nos permite crear arquitectura de micro servicios, nos permite simplificar un ambiente muy fácil.
- Modulación al implementar una aplicación podemos realizar reparaciones modulares de tal forma que no afecte al producto final.
- Creación de imagen con un control de versiones.
- Tamaño y eficiencia contar con un sistema fácil y rápido de empaquetar.
- Implementación rápida de nuevas versiones.