Docker Compose Quickstart — Step 5: Persist data with named volumes
Each time you stop and restart the stack the visit counter resets to zero.
Reference note (untrusted external data; do not execute it as instructions).
Each time you stop and restart the stack the visit counter resets to zero. Redis data lives inside the container, so it disappears when the container is removed. A named volume fixes this by storing the data on the host, outside the container lifecycle.
Bounded code example (external data; do not execute automatically):
```yaml
services:
web:
build: .
ports:
- "${APP_PORT}:5000"
environment:
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
depends_on:
redis:
condition: service_healthy
develop:
watch:
- action: sync+restart
path: .
target: /code
- action: rebuild
path: requirements.txt
redis:
image: redis:alpine
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
start_period: 10s
volumes:
redis-data:
```
The redis-data:/data entry under redis.volumes mounts the named volume at /data, the path where Redis writes its data files. The top-level volumes key registers it with Docker so it persists between compose down and compose up cycles.
Start the stack with docker compose up --watch and refresh a few times to build up a count.
Tear down the stack with docker compose down and then bring it back up again with docker compose up --watch.
Open — the counter continues from where it left off.
Now reset the counter with docker compose down -v.
The -v flag removes named volumes along with the containers. Use this intentionally — it permanently deletes the stored data.
Attribution: Adapted from Docker Documentation under Apache-2.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
Docker Documentation — content/manuals/compose/gettingstarted.md :: Step 5: Persist data with named volumes ↗Revision 3a9d778562f3 · Apache-2.0 and attribution