Docker & Conteinerização: Do Dockerfile ao Deploy com Compose
Grade completa inspirada no padrão TutorialsPoint: Imagens, Containers, Dockerfile, Volumes, Redes, Docker Compose, Multi-Stage Builds e Deploy Seguro em Produção.
Módulo 1 — Fundamentos da Conteinerização
Diferença entre VMs e Containers, isolamento por cgroups/namespaces e Docker Engine.
Módulo 2 — Gerenciando Containers na CLI
Executando containers em background (-d), mapeamento de portas (-p) e inspeção.
2.1 Comandos Essenciais do Docker CLI
Para subir um servidor web Nginx em segundo plano mapeando a porta 80 do host para a 80 do container:.
Módulo 3 — Construção de Imagens com Dockerfile
Instruções FROM, WORKDIR, COPY, RUN, ENV, EXPOSE e a diferença entre ENTRYPOINT e CMD.
3.1 Escrevendo um Dockerfile para Python
Aproveite a camada de cache do Docker copiando `requirements.txt` antes do código:.
Módulo 4 — Persistência com Volumes
Por que containers são efêmeros e como persistir bancos com Named Volumes e Bind Mounts.
4.1 Named Volumes para Bancos de Dados
Quando um container é destruído, todos os dados no seu filesystem interno são perdidos. Para MySQL/PostgreSQL, anexamos um volume gerenciado pelo Docker:.
Módulo 5 — Redes & DNS Interno
Redes do tipo Bridge, comunicação entre containers pelo nome do serviço e isolamento de portas.
5.1 Resolução DNS entre Containers
Containers conectados na mesma rede customizada conversam entre si usando o próprio nome do container como hostname (sem precisar de IPs fixos):.
Módulo 6 — Orquestração com Docker Compose
Declarando múltiplos serviços (Web, DB, Redis, Nginx) no arquivo docker-compose.yml.
6.1 Subindo a Aplicação Completa com um Comando
Em vez de digitar dezenas de comandos `docker run`, centralizamos a infraestrutura:.
Módulo 7 — Multi-Stage Builds & Deploy Seguro
Construção em múltiplos estágios, usuários não-root e publicação com Nginx e SSL.
7.1 Imagens Ultra-Leves com Multi-Stage
Aprenda reduzindo o tamanho das imagens com conceitos práticos e exercícios aplicados.