Docker Development¶
Zer0-Mistakes uses a Docker-first approach for consistent development across all platforms.
Essential Commands¶
Starting Development¶
# Start development server (foreground, see logs)
docker-compose up
# Start in background (detached mode)
docker-compose up -d
# View logs when running in background
docker-compose logs -f jekyll
Your site will be available at http://localhost:4000.
Stopping Development¶
# Stop containers (preserves data)
docker-compose stop
# Stop and remove containers
docker-compose down
# Stop and remove containers + volumes (clean slate)
docker-compose down -v
Rebuilding¶
# Rebuild after Gemfile changes
docker-compose up --build
# Force complete rebuild
docker-compose down && docker-compose up --build
Working Inside the Container¶
# Open a shell in the container
docker-compose exec jekyll bash
# Run Jekyll commands directly
docker-compose exec jekyll jekyll build
docker-compose exec jekyll jekyll doctor
docker-compose exec jekyll bundle update
Configuration Files¶
| File | Purpose |
|---|---|
docker-compose.yml |
Main development configuration |
docker-compose.prod.yml |
Production build settings |
docker-compose.test.yml |
Testing configuration |
Apple Silicon (M1/M2/M3) Support¶
The Docker configuration includes platform compatibility:
Common Tasks¶
Clean Rebuild¶
Check Configuration¶
Update Dependencies¶
Troubleshooting¶
Port already in use:
# Find process using port 4000
lsof -i :4000
# Kill it or use a different port
docker-compose up -p 4001:4000
Container won't start:
# Check logs for errors
docker-compose logs jekyll
# Try clean rebuild
docker-compose down -v && docker-compose up --build
Related¶
See also¶
- [[Jekyll]]
- [[Ruby]]
- [[Deployment]]
- [[Installation]]