Docker
Beginner
1 min read
Introduction to Docker Compose
Example
# compose.yaml
services:
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: appuser
POSTGRES_PASSWORD: secret
POSTGRES_DB: appdb
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "appuser"]
interval: 10s
timeout: 5s
retries: 5
api:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
ports:
- "3000:3000"
environment:
NODE_ENV: production
DATABASE_URL: postgres://appuser:secret@db:5432/appdb
depends_on:
db:
condition: service_healthy
volumes:
- uploads:/app/uploads
volumes:
pgdata:
uploads:
# docker compose up -d
# docker compose logs -f
# docker compose down
# docker compose down -v
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