October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Fix Docker Failing to Start on Linux

Diagnose Docker startup failures on Linux in the right order: verify the target host, read journalctl, then repair configuration, dependencies, storage, sockets, networking, and permissions while protecting Docker data.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Docker usually fails to start for one of four reasons: the daemon is stopped or mis-targeted, its configuration is invalid, a dependency such as containerd or the storage driver is broken, or the host has run out of disk space or cannot create the required network and control groups. Start with the service state and the exact systemd error rather than reinstalling Docker immediately.

The sequence below takes you from a quick diagnosis to targeted repairs while protecting images, volumes, and containers in /var/lib/docker.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

1. Confirm which Docker installation and host you are troubleshooting

Linux machines can have a system package, a manually installed daemon, or a rootless user service. A client error does not always mean the local daemon is broken: the client may be pointed at another host through DOCKER_HOST.

Check the client and service

docker --version
docker info
sudo systemctl is-active docker
sudo systemctl status docker --no-pager -l

docker info should show both client and server sections. If it reports that it cannot connect to the daemon, compare that result with the systemd state. inactive or failed means the service needs investigation; an active service with a client connection error often indicates a socket, permission, or host-selection problem.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Check for an unintended remote endpoint

env | grep DOCKER_HOST

If this prints a host you did not intend to use, remove it for the current shell and retry:

unset DOCKER_HOST
docker info

Also inspect shell startup files, service wrappers, CI variables, and desktop or context settings that may set it again. A stale remote endpoint can produce the same “Cannot connect to the Docker daemon” message as a stopped local service.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Read the exact startup error before changing anything

Systemd records the daemon’s reason for exiting. Read the complete unit log, including earlier boot messages:

sudo journalctl -xu docker.service --no-pager

To focus on the current boot, add -b:

sudo journalctl -b -u docker.service --no-pager

For a live restart attempt, follow the log in one terminal while starting Docker in another:

sudo journalctl -fu docker.service

Older distributions may also write daemon messages to /var/log/syslog, /var/log/messages, /var/log/daemon.log, or /var/log/docker.log. The useful line is normally the first fatal error, not the final systemd message saying that the service exited.

3. Apply the safe, basic service repairs

Start or restart the unit

sudo systemctl start docker
sudo systemctl status docker --no-pager -l

If Docker was running but unresponsive, restart it and immediately inspect the log:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl restart docker
sudo journalctl -u docker.service -n 100 --no-pager

Do not repeatedly restart a unit while ignoring the same fatal message; repeated attempts can make a full disk, corrupt metadata, or dependency failure harder to diagnose.

Reload changed unit files

After changing a systemd drop-in or a unit file, tell systemd to reload its definitions before starting Docker:

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
sudo systemctl daemon-reload
sudo systemctl start docker

To start Docker automatically on future boots after it works:

sudo systemctl enable docker

Enabling a service changes boot behavior; it does not repair a daemon that currently exits.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

4. Fix the error category shown in the log

Invalid or incompatible daemon configuration

A syntax error or unsupported option in /etc/docker/daemon.json prevents the daemon from starting. Common causes include a missing comma, duplicate JSON keys, smart quotation marks, an option copied from a different Docker release, or specifying the same setting in both the JSON file and systemd command-line flags.

Make a backup before editing:

sudo cp -a /etc/docker/daemon.json /etc/docker/daemon.json.backup

Inspect the file as JSON with a parser available on your distribution:

sudo python3 -m json.tool /etc/docker/daemon.json

If the parser reports a line and column, correct that exact syntax error. If you are unsure which option is responsible, move the file aside temporarily and start Docker with the default configuration:

sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.disabled
sudo systemctl restart docker
sudo systemctl status docker --no-pager -l

If the default daemon starts, restore settings one at a time from the backup and restart after each change. This identifies the incompatible option without deleting Docker data. Keep the disabled file until the working configuration has been recreated.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Conflicting systemd flags

Inspect the effective unit and drop-ins when the log says an option was specified more than once or that a flag is unknown:

sudo systemctl cat docker
sudo systemctl show docker --property=ExecStart

Remove obsolete or duplicate flags from the drop-in or from daemon.json, run sudo systemctl daemon-reload, and start Docker again. Keep one authoritative location for each setting.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Containerd is stopped or incompatible

Docker relies on the container runtime supplied by containerd. If the journal says the runtime is unavailable, inspect its unit and logs:

sudo systemctl status containerd --no-pager -l
sudo journalctl -u containerd.service -n 100 --no-pager

Start the dependency, then Docker:

sudo systemctl start containerd
sudo systemctl restart docker

If containerd itself fails, fix the first fatal error in its journal rather than deleting its state. Package versions from mixed repositories can be incompatible; use one distribution-supported Docker and containerd package set and complete pending package configuration before retrying.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Socket or permission problems

When the daemon is active but an ordinary user cannot connect, check the Unix socket:

sudo systemctl is-active docker
ls -l /var/run/docker.sock
sudo docker info

If sudo docker info works but docker info does not, the problem is normally user access to the socket. Add the account to the Docker group if that is appropriate for your security policy:

sudo usermod -aG docker "$USER"

Sign out and back in (or start a new login session) before testing. Membership in the Docker group grants effective root-level control over the host, so do not add untrusted users merely to remove a permission error. Never solve this by making the socket world-writable.

If the socket is missing while the service is supposedly active, inspect the unit log and the configured socket path. A custom hosts setting, a rootless daemon, or a stale client context can make the client look at a different socket.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Disk space, inodes, and read-only filesystems

The daemon cannot create layers, sockets, logs, or metadata when the filesystem is full. Check both capacity and inode exhaustion:

df -h
 df -i
mount | grep ' / '
findmnt -no TARGET,OPTIONS /var/lib/docker

Remove or relocate unrelated files, rotate oversized logs, and free enough space for Docker to write. If the filesystem is mounted read-only, investigate the underlying disk or filesystem errors and restore a writable mount before restarting Docker. Do not delete files inside /var/lib/docker by hand: doing so can orphan layers and volumes.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Storage-driver or filesystem failures

Journal messages mentioning overlay2, “failed to mount,” or an unsupported filesystem indicate a storage-driver problem. Verify the filesystem and mount options for Docker’s data root, and check whether a recent disk, kernel, or mount change caused it. If the data directory was moved, confirm that the configured data-root points to the mounted path and that the Docker service user can access it.

Do not switch storage drivers casually. Existing images and containers may not be usable under a different driver without migration. Back up important volumes and record the current data-root and driver before attempting a migration.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Network initialization, iptables, and nftables errors

Errors about bridge creation, address pools, iptables, nftables, or firewall programming mean Docker could not build its default networks. Check whether the host firewall or another tool is rejecting Docker’s rules, and look for a conflicting bridge or an address pool that overlaps an existing corporate or VPN network.

Resolve the conflict in the firewall or Docker network configuration, then restart Docker. Avoid flushing all firewall rules as a blind fix: that can expose the host and still leave Docker unable to initialize. If the log names an address already in use, identify the process or interface holding it before changing Docker’s network range.

Control-group, kernel, and security-policy errors

Messages referring to cgroups, namespaces, seccomp, AppArmor, SELinux, or missing kernel features indicate a host integration issue rather than a client problem. Confirm that the running kernel exposes the required cgroup filesystem and that the service is not being started inside a restricted container or virtual machine without the needed privileges.

For SELinux or AppArmor denials, inspect the corresponding audit log and correct the policy or file labels. Disabling a security module globally should be a last-resort diagnostic step, not the permanent repair. A kernel update, boot parameter change, or migration between cgroup modes can require a compatible Docker package and daemon configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Stale PID or address already in use

If the journal says Docker’s PID file or listening address is already in use, first check whether another daemon is running:

ps -ef | grep '[d]ockerd'
sudo ss -ltnp | grep -E '2375|2376'

Stop the duplicate service or correct its socket and host settings. Remove a stale PID file only after confirming that no Docker daemon process is running and only when the log identifies that file as the blocker. Do not kill an unknown process that happens to use a similar port.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

5. Distinguish rootful and rootless Docker

The commands above target the system-wide, rootful service managed as docker.service. Rootless Docker runs as a per-user systemd service and uses a user-owned socket, so checking only the system unit can send you down the wrong path.

Check the current context and user services:

docker context ls
systemctl --user status docker
systemctl --user --no-pager -l status docker
journalctl --user -u docker.service --no-pager

For a rootless setup, start the user unit and ensure the client points to its socket. Do not mix a rootless socket with a rootful DOCKER_HOST value. The account must also have the user-session and kernel capabilities required by the rootless installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. Recover without destroying Docker data

Images, writable container layers, and named volumes normally live below Docker’s data root, commonly /var/lib/docker. A failed service does not imply that this data is lost.

Use a reversible configuration test

  1. Copy /etc/docker/daemon.json to a dated backup.
  2. Move the active file aside rather than deleting it.
  3. Start Docker with defaults and read the journal.
  4. If it starts, restore only validated settings one at a time.

Back up volumes before destructive work

If the daemon can start intermittently, export critical data from containers and back up named-volume contents to storage outside Docker’s data root. Record container environment variables, bind mounts, compose files, custom networks, and the output of docker info. A package reinstall may preserve /var/lib/docker, but you should not rely on an unverified in-place repair for the only copy of application data.

When a clean data directory is justified

Only consider moving the entire data root after the journal and storage checks indicate irreparable metadata corruption and you have backups. Stop Docker, preserve the original directory, configure a new empty data-root, and verify that the daemon starts. This creates a fresh Docker environment; it does not recover the old images or containers automatically.

7. Reinstall only after diagnosis

Reinstalling packages can repair missing binaries or broken dependencies, but it will not correct an invalid daemon setting, a full filesystem, a firewall conflict, or an unintended DOCKER_HOST. It can also remove or replace configuration files depending on the distribution’s package behavior.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Before reinstalling, save:

  • /etc/docker/daemon.json and any systemd drop-ins.
  • The output of docker info, package versions, and service logs.
  • Important named-volume data and application configuration.
  • Your repository, proxy, registry, and network settings.

Use the package manager’s repair or reinstall operation for the distribution and repository that supplied Docker, then restart containerd and Docker. Avoid mixing packages from unrelated repositories or installing a second daemon over the first.

8. Verify the repair end to end

A green systemd status is not enough. Confirm that the client can reach the server and that Docker can create a disposable container and network:

sudo systemctl is-active docker
docker info
docker run --rm hello-world

If the test image is unavailable because the registry or proxy is unreachable, that is a network or registry issue rather than proof that the daemon failed. Test a locally available image when internet access is intentionally restricted.

Finally, reboot only after a successful start and verify that Docker returns automatically:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl enable docker
sudo reboot

After the machine returns, run sudo systemctl is-active docker, docker info, and a harmless test container again. Confirm that expected volumes, networks, and application containers are present before declaring the incident closed.

Quick symptom-to-action reference

Observed symptom First evidence to collect Likely next action
“Cannot connect to the Docker daemon” docker info, systemctl is-active docker, env | grep DOCKER_HOST Start the service or unset an unintended remote host; then check socket permissions.
systemctl start docker exits immediately journalctl -xu docker.service Fix the first fatal configuration, dependency, storage, or kernel error named in the journal.
Service is active but non-root user fails ls -l /var/run/docker.sock and sudo docker info Correct the user session’s group or rootless context; do not make the socket world-writable.
“No space left on device” df -h and df -i Free capacity or inodes and restore a writable filesystem.
JSON, unknown option, or duplicate flag error /etc/docker/daemon.json and systemctl cat docker Validate JSON and remove obsolete or duplicated settings.
Bridge, iptables, or address-pool failure Docker journal plus host interfaces and firewall configuration Resolve the overlap or firewall policy; do not flush production firewall rules blindly.
Runtime unavailable systemctl status containerd and its journal Repair and start containerd, then restart Docker.

Prevent the next startup failure

  • Keep a known-good copy of /etc/docker/daemon.json and document every systemd drop-in.
  • Monitor free bytes and inodes on the Docker data filesystem.
  • Keep Docker, containerd, the kernel, and firewall tooling from a compatible package set.
  • Test configuration changes with a restart while watching journalctl -fu docker.service.
  • Back up named volumes independently of the Docker data directory.
  • Document whether each machine uses rootful or rootless Docker and which socket the client should use.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.