4 KiB
Today's Docker Issues - Summary and Solutions
Date: 2026-02-15
Issues Fixed
1. Edition 2024 Error
Problem: Rust 1.83-alpine didn't support Edition 2024 Solution: Updated Dockerfiles to use Rust 1.93-slim Files Modified:
backend/docker/Dockerfilebackend/docker/Dockerfile.devDocumentation:backend/docker/EDITION2024-FIX.md
2. MongoDB Healthcheck Configuration
Problem: Healthcheck timing out, complex command Solution: Simplified healthcheck with 60s startup grace period Files Modified:
backend/docker-compose.dev.ymlDocumentation:backend/docker/MONGODB-TROUBLESHOOTING.md
3. MongoDB Disk Space Issue
Problem: MongoDB crashing with "No space left on device" error
Root Cause: /var filesystem was 100% full (not root / filesystem)
Solution: Freed up space in /var filesystem
Key Insight: Docker stores volumes in /var/lib/docker/volumes/, so /var space matters more than root space for MongoDB
Documentation: backend/docker/MONGODB-VAR-FULL-ISSUE.md
Lessons Learned
- Always check all filesystems with
df -h, not just root (/) - Docker data location matters -
/var/lib/dockerby default - Separate mounts have different space -
/varcan be full while/has space - Monitor Docker space usage regularly with
docker system df
Prevention Setup
Regular Monitoring
Add to crontab:
# Check disk space every hour
0 * * * * /path/to/normogen/backend/scripts/check-disk-space.sh
# Clean Docker weekly
0 2 * * 0 docker system prune -f --filter "until=168h"
Manual Checks
# Quick space check
df -h
# Docker space usage
docker system df
# Verify stack is running
./backend/scripts/verify-stack.sh
Documentation Created
backend/docker/EDITION2024-FIX.md- Edition 2024 fixbackend/docker/MONGODB-TROUBLESHOOTING.md- MongoDB issuesbackend/docker/MONGODB-PERMISSIONS-FIX.md- Permissions guidebackend/docker/MONGODB-DISKSPACE-FIX.md- Disk space guidebackend/docker/MONGODB-VAR-FULL-ISSUE.md- /var space issuebackend/docker/DOCKER-COMMANDS.md- Docker commands referencebackend/scripts/check-disk-space.sh- Space monitoringbackend/scripts/verify-stack.sh- Stack verificationbackend/diagnose-mongodb.sh- MongoDB diagnostics
Quick Reference
Start the Stack
cd backend
docker compose -f docker-compose.dev.yml up -d
Check Status
docker compose -f docker-compose.dev.yml ps
docker ps | grep normogen
View Logs
# All services
docker compose -f docker-compose.dev.yml logs -f
# MongoDB only
docker logs -f normogen-mongodb-dev
# Backend only
docker logs -f normogen-backend-dev
Stop the Stack
docker compose -f docker-compose.dev.yml down
Clean Restart
docker compose -f docker-compose.dev.yml down -v
docker compose -f docker-compose.dev.yml up -d
Success Indicators
When everything is working, you should see:
-
Containers running:
$ docker ps | grep normogen normogen-mongodb-dev Up X minutes (healthy) 0.0.0.0:27017->27017/tcp normogen-backend-dev Up X minutes 0.0.0.0:6800->8000/tcp -
MongoDB logs:
{"msg":"Waiting for connections on port 27017"} -
Backend logs:
Server is running on http://0.0.0.0:8000 -
Healthcheck:
$ docker inspect normogen-mongodb-dev --format='{{.State.Health.Status}}' healthy
Git Commits
d63f160- fix(docker): Update to Rust 1.93 to support Edition 2024b218594- fix(docker): Fix MongoDB healthcheck configurationb068579- fix(docker): Simplify MongoDB healthcheck and add troubleshootingf0b5109- fix(docker): Document MongoDB disk space issue and solutions
Next Steps
- Build completed successfully
/varspace issue resolved- Verify stack is running with
./backend/scripts/verify-stack.sh - Test API endpoints
- Continue with Phase 2.4 development
Last Updated: 2026-02-15 Status: All issues resolved