Skip to main content
Settings
Search
Appearance
Theme Mode
About
Jekyll v3.10.0
Environment Production
Last Build
2026-04-09 02:05 UTC
Current Environment Production
Build Time Apr 09, 02:05
Jekyll v3.10.0
Build env (JEKYLL_ENV) production
Page Location
Page Info
Layout default
Collection docs
Path _docs/docker/index.md
URL /docs/docker/
Date 2026-04-09
Theme Skin
SVG Backgrounds
Layer Opacity
0.6
0.04
0.08

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:

services:
  jekyll:
    platform: linux/amd64  # Ensures compatibility

Common Tasks

Clean Rebuild

docker-compose down -v
docker-compose up --build

Check Configuration

docker-compose exec jekyll jekyll doctor

Update Dependencies

docker-compose exec jekyll bundle update

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