Docker é uma plataforma para containerização — empacotar uma aplicação junto com todas as suas dependências em um container portátil que executa de forma consistente em qualquer lugar. Ele resolve o clássico problema "funciona na minha máquina" tornando os ambientes reproduzíveis.
O problema: ambientes 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
