O Docker é uma plataforma que permite criar, empacotar e rodar aplicações dentro de contêineres.
Um contêiner é como uma caixinha que tem tudo o que sua aplicação precisa para funcionar:
- Código da aplicação
- Dependências (bibliotecas, pacotes, etc.)
- Configurações
- Sistema de arquivos mínimo
Assim, não importa onde você rode o contêiner (Windows, Linux, nuvem, servidor do amigo) — ele vai funcionar do mesmo jeito, sem aquele clássico “na minha máquina funciona”.
IMAGENS
📦 Analogia simples
Pensa no Docker como um container de navio:
- Você pode colocar qualquer coisa dentro (um site, banco de dados, API).
- Ele é padronizado, então cabe em qualquer navio/porto (servidor).
- Fácil de transportar, copiar e empilhar.
⚡ Diferença entre Máquina Virtual e Docker
- Máquina Virtual (VM): Cria um sistema operacional inteiro para rodar sua aplicação (pesado, lento).
- Docker/Contêiner: Usa o mesmo kernel do SO e só isola o necessário (leve, rápido).
🚀 Como funciona na prática
- Você cria uma imagem Docker (um modelo da sua aplicação, tipo receita de bolo).
- A partir dessa imagem, você sobe um contêiner (uma instância rodando).
- Pode rodar quantos contêineres quiser, sem conflito entre eles.
Exemplo rápido no terminal:
# Rodar um servidor Nginx em um contêiner
docker run -d -p 8080:80 nginx