Docker Compose for production
Topic: Containers core
Summary
Use Compose in production with limits, restarts, health checks, and secrets. Prefer orchestrators at scale. Use when running a small set of services on one or few hosts.
Intent: How-to
Quick answer
- Set deploy.resources.limits and restart. Add healthcheck. Use env_file or secrets.
- Pin image tags. Run behind reverse proxy with TLS.
- Log to stdout. Back up volumes. Consider Kubernetes for multi-node.
Prerequisites
Steps
-
Limits and restart
Set memory and CPU limits. Set restart policy. Add healthcheck.
-
Images and proxy
Pin image tags. Put behind reverse proxy with TLS. Use secrets for credentials.
-
Logging and backup
Log to stdout. Back up volumes. Test restore.
Summary
Use limits, restarts, health checks, secrets. Pin tags. Proxy and backup.
Prerequisites
Steps
Step 1: Limits and restart
Set resource limits and restart; add healthcheck.
Step 2: Images and proxy
Pin tags; reverse proxy with TLS; secrets.
Step 3: Logging and backup
Stdout logging; back up volumes; test restore.
Verification
- Limits and restart work; TLS and secrets in place; backup tested.
Troubleshooting
No restart — Set restart policy. Secrets in image — Use env or mount at runtime.