Affected versions: Ubuntu 24.04 LTS

📖 ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

Containers cannot start because dockerd is inactive or crashed.

Environment & Reproduction

Often after storage-driver changes or invalid daemon config.

sudo systemctl status docker
docker ps
cat /etc/docker/daemon.json

Root Cause Analysis

Invalid JSON, cgroup mismatch, or exhausted storage path prevents startup.

Quick Triage

Inspect service logs and configuration syntax.

sudo journalctl -u docker -n 120 --no-pager
sudo dockerd --validate --config-file /etc/docker/daemon.json
df -h /var/lib/docker

Step-by-Step Diagnosis

Validate storage driver and cgroup settings for Ubuntu kernel.

docker info 2>/dev/null | head
uname -r
grep -E 'systemd.unified_cgroup_hierarchy|cgroup' /proc/cmdline
Illustrative mockup for ubuntu-24-04-lts — terminal_or_shell
Reviewing Docker daemon logs — Illustrative mockup — Progressive Robot

Solution – Primary Fix

Correct daemon config and restart service.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

sudoedit /etc/docker/daemon.json
sudo dockerd --validate --config-file /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl restart docker
Illustrative mockup for ubuntu-24-04-lts — log_or_config
Fixing daemon.json and restarting Docker — Illustrative mockup — Progressive Robot

Solution – Alternative Approaches

Reset to minimal default daemon configuration.

sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak.$(date +%s)
echo '{}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker

Verification & Acceptance Criteria

Docker service stays active and can run test container.

sudo systemctl is-active docker
docker run --rm hello-world
docker info | head -n 30

Rollback Plan

Restore previous daemon.json if dependent runtime options are required.

sudo cp -a /etc/docker/daemon.json.bak.* /etc/docker/daemon.json 2>/dev/null || true
sudo systemctl restart docker

Prevention & Hardening

Validate daemon.json in change pipelines before deployment.

sudo dockerd --validate --config-file /etc/docker/daemon.json
sudo systemctl status docker

Frequently linked to full disks and broken overlay2 state.

Related tutorial: View the step-by-step tutorial for Ubuntu 24.04 LTS.

View all Ubuntu 24.04 LTS tutorials on the Tutorials Hub →

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Ubuntu Docker engine installation and operational docs.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.