Docker es una plataforma para containerización — empaquetar una aplicación junto con todas sus dependencias en un contenedor portátil que se ejecuta de forma consistente en cualquier lugar. Resuelve el clásico problema de "funciona en mi máquina" haciendo que los entornos sean reproducibles.
El problema: entornos inconsistentes
WITHOUT containers:
→ an app works on the developer's machine but fails in test/production
→ different OS, library versions, configs, missing dependencies → "works on my machine"
→ setting up environments is manual, error-prone, and inconsistent
