Docker para Iniciantes: Pare de dizer “Na minha máquina funciona”
Docker para Iniciantes: Pare de dizer “Na minha máquina funciona”
Você cria um projeto em Python no seu Windows. Manda para o colega que usa Mac. Não roda. Manda para o servidor Linux. Dá erro de biblioteca. Você gasta 4 horas arrumando “dependências”.
Na AtiveSite, consideramos o Docker obrigatório. Ele empacota seu código junto com tudo o que ele precisa para rodar (bibliotecas, sistema, configurações). Se roda no seu PC, roda no servidor da NASA.
A Analogia da Marmita (Container)
Imagine que seu código é um almoço (Arroz, Feijão, Bife).
- Sem Docker: Você joga a comida direto na mochila (seu PC). O molho vaza, mistura com o caderno (outros apps) e faz uma bagunça.
- Com Docker: Você coloca a comida num pote hermético (Container). Você pode colocar esse pote em qualquer mochila, carro ou geladeira. A comida lá dentro não muda e não suja nada fora.
Os 3 Conceitos Fundamentais
1. Dockerfile (A Receita)
É um arquivo de texto simples onde você diz: “Pegue um Linux básico, instale o Python 3.9, copie meu arquivo main.py e rode”.
2. Image (O Prato Pronto)
Quando você “cozinha” o Dockerfile, ele vira uma Imagem. É um arquivo estático, somente leitura. É isso que você manda para o servidor.
3. Container (O Prato Sendo Comido)
Quando você manda a Imagem rodar, ela vira um Container. É o processo vivo. Você pode ter 10 containers rodando a mesma imagem ao mesmo tempo.
Por que usar hoje? (Tech-Pragmatismo)
- Limpeza: Quer testar um banco de dados MySQL? Não instale no Windows. Rode um container MySQL. Acabou? Delete o container e seu PC continua limpo.
- Padronização: Todos na equipe usam a mesma versão de tudo. Acabou o conflito de “eu estou na versão 2.0 e você na 1.0”.
Seu Primeiro Comando
Depois de instalar o Docker Desktop, abra o terminal e digite:
docker run hello-world
O Docker vai baixar uma imagem de teste minúscula, criar um container, rodar uma mensagem de boas-vindas e desligar. Sem instalar nada no seu registro do Windows.
Conclusão
Aprender Docker é o que separa o “micreiro” do Engenheiro de Software. Pare de configurar ambientes na mão. Containerize tudo.