Docker
Beginner
1 min read
Named Volumes vs Bind Mounts
Example
# Create a named volume explicitly
docker volume create pgdata
# Use it in a container
docker run -d \
--name postgres \
-e POSTGRES_PASSWORD=secret \
-v pgdata:/var/lib/postgresql/data \
postgres:16-alpine
# List and inspect volumes
docker volume ls
docker volume inspect pgdata
# Bind mount for development
docker run -d \
--name app-dev \
-p 3000:3000 \
-v "$(pwd)/src:/app/src" \
-v "$(pwd)/config:/app/config:ro" \
-e NODE_ENV=development \
myapp:dev
# tmpfs mount (ephemeral, in-memory)
docker run -d \
--name api \
--tmpfs /tmp:size=64m,mode=1777 \
myapp:latest
# Backup a named volume
docker run --rm \
-v pgdata:/source:ro \
-v "$(pwd):/backup" \
alpine tar czf /backup/pgdata-$(date +%Y%m%d).tar.gz -C /source .
Related Resources
Docker Reference
Complete tag & property list
Docker How-To Guides
Step-by-step practical guides
Docker Exercises
Practice what you've learned
More in Docker