How do you persist data across `docker compose down`?
⚡
Quick Answer
Use a named volume mounted into the service; named volumes survive down (but not down -v).
Detailed Answer
Bind mounts tie data to a host path; named volumes are managed by Docker and persist across recreation. docker compose down keeps named volumes; add -v to delete them. For databases, always use a named volume so data survives container recreation.
Code Example
services:
db:
image: postgres:16
volumes: [pgdata:/var/lib/postgresql/data]
volumes:
pgdata:💡
Interview Tip
Warn that down -v deletes named volumes.
docker-composevolumespersistence