Lesson 2 of 5
Container Won't Start
Concept
When a container fails, your checklist: (1) check logs, (2) check if it's running, (3) check port conflicts, (4) rebuild. Most issues are: bad config, port already in use, or a code error.
Emergency commands
# 1. What happened? Check logs
docker logs --tail 50 m3shd-commander
# 2. Is it running? Check status
docker ps -a | grep m3shd
# STATUS: 'Up 2 hours' = good, 'Exited (1)' = crashed
# 3. Port conflict? Check what's using the port
lsof -i :8000
# 4. Nuclear option: rebuild from scratch
docker compose down
docker compose up -d --build
# 5. Still broken? Check if .env exists and has values
cat .env | head -5
What's happening
90% of container failures show up in
docker logs. The exit code matters: Exited (1) = your code crashed (check logs), Exited (137) = ran out of memory (OOM killed), Exited (0) = stopped normally.