Essential Commands
| Command | Description |
docker compose up -d | Start all services in background |
docker compose down | Stop and remove containers |
docker compose build | Build/rebuild services |
docker compose logs -f | Follow all service logs |
docker compose ps | List running services |
docker compose exec web bash | Shell into service |
docker compose pull | Pull latest images |
docker compose restart | Restart all services |
Example compose.yaml
services:
web:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- DATABASE_URL=postgres://user:pass@db:5432/mydb
depends_on:
- db
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: mydb
volumes:
- pgdata:/var/lib/postgresql/data
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
pgdata:
Environment Variables
# .env file (auto-loaded)
DB_PASSWORD=secret123
API_KEY=abc
# Reference in compose.yaml
environment:
- DB_PASSWORD=${DB_PASSWORD}
- API_KEY=${API_KEY}