Docker won't run

Hello,

Just to preface this, I am very inexperienced with Linux and anything server related (I don’t even know where to find logs or how to interpret what they tell me). I’m running this off a pile of trash laptop so I’m not too worried if it breaks, but if possible I’d like to find a proper solution to this problem.

When I start the server up (I have to shut it down every night due to electricity usage concerns) docker just completely ceases to function. This persists through restarts and full shutdown and startup.

When I try to install an app I get this error message:

and when I try to run any installed apps I run into this:

The only solution I have managed to find is to use the reset feature built into the OS and just reinstall all of my apps, but since this is the second time this has happened clearly I’m doing something that is causing it to happen. This is present across all docker apps, not native apps as file explorer still works. I have the system set to shut down daily at 12AM.

This is the full list of apps I have installed and configured. The only thing that is at all similar to what is happening now that has happened before is that occasionally Tailscale fails to launch, in which case I restart the machine and that generally fixes it.

Syncthing is only copying files from my music library to the one present on the server

The docker cache is loading indefinitely so I can’t clear it.

Here are the device’s Specs:


That is all the information I can think to give. I wish I could figure out where the logs are since that would likely be a significant help but my research has come up with nothing (I’m pretty bad at research unfortunately).
I’d really appreciate any help I can get.
Thanks in advance.

That error means Docker itself isn’t running, not just the app store. Since you’ve got 8GB RAM, this isn’t a hardware issue.

First, let’s get you into the terminal (you don’t need to install anything).

Step 1 — Open the terminal

  • Go to Settings > Developer mode
  • Under Web-based terminal, click the small arrow on the right (like in my screenshot below)
  • When it opens, type root and press Enter to log into the terminal

Step 2 — Check if Docker is running

docker ps

Step 3 — Check if Docker service exists

ps aux | grep dockerd

Step 4 — Try restarting Docker

/etc/init.d/docker restart

Step 5 — Check again

docker ps

Step 6 — If still not working, get logs

logread | grep docker

Post back the results and we’ll pinpoint exactly what’s stopping Docker.

So I first tried typing root as soon as the terminal opened and this was the response I got:

afterwards I signed in with my usual user and password (this is the only account on the system) and I typed the commands as followed:

I’m unsure if most of those commands failed due to my failing to follow the first step correctly or for other reasons.

Hi,

The $ at the end of your prompt means you are logged in as a normal user

The permission denied error most probably comes from the fact you are not logged on as the root user

Type sudo -i to logon as the root user. This will be indicated with a # at the end of your prompt

If it complains that root does not yet have a password then use the command passwd root

I hope this allows you to enter the commands that George has asked you to enter

Nice work sharing the screenshots, that helps a lot.

Also, Gavin is spot on here, the issue you’re seeing is mostly permissions.

Right now you’re already logged into the terminal, but you’re logged in as a normal user (that’s why you see the $).
That’s also why you’re getting permission denied errors.

When I mentioned “login as root”, this is exactly what we meant, not typing root, but switching properly like Gavin suggested.


Step 1 — Switch to root (this is the important bit)

Run:

sudo -i

Enter your password.

If it works, your prompt will change from $ to # — that means you’re now root.


Step 2 — Check Docker again

docker ps

What we already know from your output

  • Docker is not running (dockerd wasn’t found)
  • You were hitting permission issues because you weren’t root

So we just fix those two things properly.


Step 3 — Start Docker

Try:

dockerd &

Step 4 — Check again

docker ps

Don’t worry about this feeling a bit confusing, Linux can feel a bit “blind” at first if you haven’t used it before. You’re actually doing the right thing by posting everything, it makes it much easier to help.

Post back what you get after sudo -i and we’ll take the next step.

Ok so this is what I got after using the sudo -i command:

Thank you for your help by the way, I really appreciate it.

Nice work, and also credit to Gavin, getting you into root was the right move.

Now we can see the real issue clearly.

This is no longer a permissions problem. Docker is failing to start because of a network conflict:

networks have same bridge name

That means Docker is trying to create its default network (docker0), but something broken already exists.


Let’s fix it

Run these commands one by one:

ip link

If you see docker0 in the list, continue.


ip link delete docker0

Now start Docker again:

dockerd &

Check if it’s working:

docker ps

What’s happening (simple)

A leftover/broken Docker network is blocking Docker from starting.
We remove it, and Docker recreates it cleanly.


Run those and let me know what docker ps shows

I have attempted to delete the docker instance but it appears to have just ignored the command. Apologies for the red lines but I am not sure how much of that information might cause problems for me.

You didn’t do anything wrong. The reason it “looks ignored” is because this isn’t just the docker0 interface anymore, there’s a leftover Docker network state still sitting in Docker’s data.

That’s why it keeps coming back with:

networks have same bridge name


Let’s fix it properly

We need to clean the broken Docker network state (safe to do).

Run these commands one by one:


Stop anything Docker-related:

killall dockerd

Remove the broken network files:

rm -rf /var/lib/docker/network

Now start Docker clean:

dockerd &

Check again:

docker ps

What this does (simple)

  • Docker stores network configs in /var/lib/docker/network
  • Yours is corrupted / duplicated
  • We remove it so Docker can rebuild it properly

This is a known type of issue after crashes or improper shutdowns, so you didn’t cause it.

Run those and let me know what docker ps shows after.

That appears to have done it, Navidrome is running again and I haven’t tested the other apps yet.