$ docker modulo_4
Segurança e boas práticas
Rodar como non-root, secrets, images scanned e rede mínima.
O que você vai aprender
- USER non-root no Dockerfile
- Secrets via env/arquivo (nunca na imagem)
- read-only rootfs e cap-drop
- Evitar :latest e imagens desconhecidas
1. Non-root
RUN useradd -m -u 10001 app
USER app
2. Compose mais seguro
services:
api:
read_only: true
tmpfs: ["/tmp"]
security_opt: ["no-new-privileges:true"]
cap_drop: ["ALL"]
env_file: .env
NUNCA faça COPY de .env ou chaves privadas para a imagem. Use env em runtime ou secrets do orquestrador.
EXERCÍCIO
Adicione USER e cap_drop ao serviço do módulo 3. Confirme com docker inspect.