1

I just ran in some issues with my server running docker that I cannot fix myself. Im using Docker version 18.09.0, build 4d60db4 with Ubuntu 16.04.5 LTS. During the day I noticed, that my docker applications are not available, so I checked the service. When trying to start the docker service with service docker start, I get A dependency job for docker.service failed. See 'journalctl -xe' for details. When checking the journalctl, I get the following output:

systemd[1]: Starting Docker Application Container Engine...
    -- Subject: Unit docker.service has begun start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit docker.service has begun starting up.
systemd[1]: Starting containerd container runtime...
    -- Subject: Unit containerd.service has begun start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit containerd.service has begun starting up.
modprobe[811]: modprobe: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not open builtin file '/lib/modules/4.4.0/modules.builtin.bin'
modprobe[811]: modprobe: FATAL: Module overlay not found in directory /lib/modules/4.4.0
systemd[1]: containerd.service: Control process exited, code=exited status=1
systemd[1]: Failed to start containerd container runtime.
    -- Subject: Unit containerd.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit containerd.service has failed.
    --
    -- The result is failed.
systemd[1]: Dependency failed for Docker Application Container Engine.
    -- Subject: Unit docker.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit docker.service has failed.
    --
    -- The result is dependency.
systemd[1]: docker.service: Job docker.service/start failed with result 'dependency'.
systemd[1]: containerd.service: Unit entered failed state.
systemd[1]: containerd.service: Failed with result 'exit-code'.
systemd[1]: Stopped Docker Application Container Engine.
    -- Subject: Unit docker.service has finished shutting down
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit docker.service has finished shutting down.

I tried restarting the server multiple times. Everything else on the system is running perfectly (Mail, Backups, Websites).

I have no experience with modprobe or the error in any case, so any detailed help would be appreciated.

Thanks in advance

2 Answers2

2

I had the same error today after upgrading docker-ce to version 18.09.0 on Debian 9. I can't give you a solution for that version but going back to version 18.06.1 did make it start again. For Ubuntu this should be:

sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu

Did version 18.09.0 ever work for you? My installation crashed right after upgrading.

Edit: There is actually a report on GitHub related to this issue. https://github.com/containerd/containerd/issues/2772

It seems like the new containerd is trying to load the overlay module even when it is already loaded. The overlay module is loaded on my system but I can't find the file in /lib/modules/

  • Thanks very much. That helped me. When I looked up the apt-packages for docker, it showed an invalid version. Rolled back and it worked. – Dominik Spiertz Nov 09 '18 at 14:06
  • What about the Debian 9? How to resolve on it? – shgnInc May 09 '19 at 07:35
  • You just replace the "ubuntu" at the end of the command with "debian". Also, the bug was fixed a while ago but i had to do a sudo apt-get dist-upgrade to make it work. Always make sure you have a system backup before doing so. – A. Schommer May 14 '19 at 22:43
1

Find out if you have the file (you certainly should on stock Ubuntu 16.04):

find /lib/modules -name "*overlay*"

And can you load it yourself?

# modprobe overlay
# echo $?
0

# lsmod | grep overlay
overlay                49152  0

I don't know why docker should fail to load it... but if it's smart, it won't need to load it if you loaded it already. So if you can load it yourself, try adding it to /etc/modules so it's loaded on boot (verify that with lsmod again after reboot).

echo overlay >> /etc/modules
Peter
  • 2,546
  • 1
  • 18
  • 25