# Docker

> Docker and docker-compose configuration. Multi-stage builds, container orchestration, volume management, networking. Don't use for Kubernetes or cloud-native deployments.

- Skill: `neuron-one/docker` (Agent Skill)
- Install (CLI): `npx skillmds@latest add neuron-one/docker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/neuron-one/docker/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: neuron-one (https://skillmd.com/u/neuron-one)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/neuron-one/docker

---


# Docker Development

## Dockerfile Best Practices
- Multi-stage builds (separate build and runtime)
- Minimal base images (alpine when possible)
- Non-root user inside container
- .dockerignore for node_modules, .git, etc
- Layer caching: COPY package*.json first, then npm install, then COPY code

## Docker Compose
- Named volumes for persistent data
- Environment variables via .env file
- Health checks for dependencies
- Restart policies (unless-stopped)
- Network isolation between services

## Common Stack
```yaml
services:
  app:          # Application
  db:           # PostgreSQL/MongoDB
  redis:        # Cache/queues
  minio:        # Object storage (dev)
```
