Learn Docker Help

Por que Docker

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ W H Y D O C K E R ? โ•‘ โ•‘ โ•‘ โ•‘ "Porque funciona na minha mรกquina" nรฃo รฉ mais uma desculpa vรกlida โ•‘ โ•‘ โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

TL;DR (Too Long; Didn't Read)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Docker = Containersโ”‚ โ”‚ Containers = ๐Ÿ“ฆ โ”‚ โ”‚ ๐Ÿ“ฆ = Portabilidade โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

O Problema ๐Ÿ”ฅ

Já se perguntou por que:

  • Seu código funciona localmente mas quebra em produção?

  • Configurar um novo ambiente de desenvolvimento é um pesadelo?

  • Cada desenvolvedor da equipe tem uma versão diferente das dependências?

  • O novo dev levou 3 dias só para configurar o ambiente?

A Solução ๐Ÿ’Š

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Containerize โ”‚ => โ”‚ Ship It! โ”‚ => โ”‚ Run It! โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Docker resolve estes problemas através de containers: ambientes isolados e portáteis que:

  • Empacotam aplicação + dependências

  • Garantem consistência entre ambientes

  • São leves e rápidos de iniciar

  • Facilitam o deploy

Vantagens Reais ๐Ÿš€

1. Consistência ๐ŸŽฏ

Dev: "Funciona na minha mรกquina!" Ops: "Agora funciona em todas!"

2. Isolamento ๐Ÿ”’

  • Cada container é um ambiente isolado

  • Sem conflitos entre versões

  • Segurança melhorada

3. Portabilidade ๐ŸŒ

  • Rode em qualquer lugar

  • Linux, Windows, Cloud

  • Mesmo comportamento garantido

4. Eficiência ๐Ÿ’จ

  • Inicialização em segundos

  • Menos recursos que VMs

  • Escalabilidade facilitada

Casos de Uso ๐ŸŽฎ

Desenvolvimento

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ $ docker-compose up โ”‚ โ”‚ > ambiente pronto! ๐ŸŽ‰ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Testes

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ $ docker test โ”‚ โ”‚ > testes consistentes ๐Ÿงชโ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Produção

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ $ docker deploy โ”‚ โ”‚ > deploy confiรกvel ๐Ÿš€ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Docker vs VMs ๐ŸฅŠ

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ Docker โ•‘ โ•‘ VMs โ•‘ โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ โ•‘ โ–ฒ Mais leve โ•‘ โ•‘ โ–ผ Mais pesadas โ•‘ โ•‘ โ–ฒ Boot em segundos โ•‘ โ•‘ โ–ผ Boot em minutos โ•‘ โ•‘ โ–ฒ Menos recursos โ•‘ โ•‘ โ–ผ Mais recursos โ•‘ โ•‘ โ–ฒ Compartilha OS โ•‘ โ•‘ โ–ฒ Mais isolamento โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

Começando ๐ŸŽฌ

Requisitos Mínimos

  • Um computador (duh!)

  • Sistema operacional (Windows/Linux/Mac)

  • Vontade de aprender

  • Café (muito café)

Próximos Passos

  1. Instalação do Docker

  2. Conceitos Básicos

  3. Primeiro Container

Waifu Tips ๐Ÿ’ก

Checkpoint โœ…

Você agora sabe:

  • [x] Por que Docker é importante

  • [x] Principais benefícios

  • [x] Diferença entre Docker e VMs

  • [x] Casos de uso comuns

Exercícios ๐Ÿ‹๏ธ

  1. Liste 3 problemas que você já enfrentou que poderiam ser resolvidos com Docker

  2. Pesquise uma empresa que usa Docker e como ela se beneficia

  3. Tente explicar Docker para seu rubber duck ๐Ÿฆ†

15 abril 2025