- O que é Docker e por que todo dev deveria usar
- Instalando o Docker no Windows, Linux e macOS – Guia completo e fácil
- Primeiros comandos Docker na prática: seu primeiro container em minutos
- Criando sua primeira imagem Docker com Dockerfile
- Entendendo volumes, redes e persistência de dados no Docker
- Docker Compose – Organizando Múltiplos Serviços Facilmente
- Boas práticas com Docker – Performance, Segurança e Organização
Usar Docker é ótimo, mas usar Docker bem é o que separa o iniciante do profissional. Neste post, você vai aprender dicas reais de boas práticas para garantir:
- Menor uso de recursos
- Imagens menores e mais rápidas
- Ambientes mais seguros
- Projetos mais organizados
Vamos lá?
🧱 1. Use imagens leves e específicas
Evite usar imagens genéricas e pesadas, como python:latest
. Prefira versões mais leves e com tag de versão:
FROM python:3.10-slim
Isso garante:
- Menos vulnerabilidades
- Downloads mais rápidos
- Imagens menores
🧹 2. Evite deixar arquivos temporários na imagem
Use boas práticas no Dockerfile
:
RUN apt-get update && apt-get install -y \\
pacote1 pacote2 \\
&& rm -rf /var/lib/apt/lists/*
Isso evita acúmulo de cache desnecessário.
🗂️ 3. Mantenha seu Dockerfile
limpo e organizado
- Use
COPY
com precisão - Agrupe instruções semelhantes
- Use
.dockerignore
para não enviar arquivos inúteis
Exemplo de .dockerignore
:
__pycache__/
*.log
.env
node_modules/
🔒 4. Cuidado com variáveis sensíveis
Nunca coloque senhas direto no Dockerfile
ou docker-compose.yml
.
Use arquivos .env
:
DB_USER=admin
DB_PASS=senha123
E referencie no Compose:
env_file:
- .env
📦 5. Mantenha imagens atualizadas, mas com controle
Não use latest
sem necessidade. Prefira tags com versão controlada.
Exemplo:
image: postgres:15-alpine
🔐 6. Use usuários não-root no container
Evite rodar como root dentro do container. Crie um usuário limitado:
RUN useradd -m meuuser
USER meuuser
⚡ 7. Limite recursos do container
Se necessário, use limites de CPU e memória:
docker run --memory="512m" --cpus="1.0" minha-imagem
🔁 8. Faça rebuilds com cache eficiente
Organize seu Dockerfile
pra usar cache corretamente:
- Primeiro instale dependências
- Depois copie o restante
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
📂 9. Estrutura recomendada de projeto
meu-projeto/
├── app/
│ └── ...
├── Dockerfile
├── .dockerignore
├── docker-compose.yml
└── .env
🧠 Conclusão
Com essas boas práticas, seu uso do Docker vai ser mais eficiente, seguro e profissional. A maioria dos bugs, lentidões e dores de cabeça vem justamente da falta dessas otimizações.