Docker Preview Environment for Jekyll Site
Prerequisites
- Docker Desktop installed on macOS
- Docker Compose (included with Docker Desktop)
Quick Start
1. Build and Start the Container
cd docker
docker-compose up --build
2. Access Your Site
Open your browser and visit:
- Main site: http://localhost:4000
- LiveReload: Automatically enabled (browser will refresh on file changes)
3. Stop the Container
Press Ctrl+C in the terminal, or run:
docker-compose down
Useful Commands
Start (without rebuilding)
docker-compose up
Run in background (detached mode)
docker-compose up -d
View logs
docker-compose logs -f
Stop background container
docker-compose down
Rebuild after Gemfile changes
docker-compose up --build
Clean everything (including cache)
docker-compose down -v
How It Works
- The Docker container mounts your project directory
- Jekyll watches for file changes and rebuilds automatically
- LiveReload refreshes your browser automatically
- Changes you make locally are immediately reflected in the container
- Bundle dependencies are cached in a Docker volume for faster rebuilds
Troubleshooting
Port already in use
If port 4000 is already in use, edit docker-compose.yml and change:
ports:
- "4001:4000" # Use port 4001 instead
Permission issues
If you encounter permission errors, try:
docker-compose down -v
docker-compose up --build
Jekyll not rebuilding
Force a rebuild with:
docker-compose restart
