Config Docker (Rust)
Overview
Multi-stage: rust:1-bookworm builder + debian:bookworm-slim runtime. Binary api compilado com cargo build --release -p api e usuário não-root.
Estrutura
project-root/
├── Dockerfile
├── docker-compose.prod.yml
└── .dockerignore
Workflow
- Copiar templates completos de
references/docker-pattern-rs.md(Dockerfile, compose, dockerignore). - Validar que
Cargo.lockestá versionado emigrations/existe (sqlx offline). - Builder: cache de deps com
cargo buildseparado (--locked) antes do código real. - Runner: copiar
/target/release/api,EXPOSE 4000, usuário não-root, HEALTHCHECK. - Validar
docker build -t app-api .localmente antes de merge.
References
references/docker-pattern-rs.md— Dockerfile multi-stage completo, compose prod e dockerignore
Global Standards
- Consultar
../skills-standards.mdseção Rust Stack Standards.