У меня только что возникли проблемы с докером на моем сервере, которые я не могу исправить самостоятельно. Я использую Docker версии 18.09.0, построил 4d60db4 с Ubuntu 16.04.5 LTS. В течение дня я заметил, что мои докерные приложения недоступны, поэтому проверил сервис. При попытке запустить службу докеров с помощью service docker start
, Я получил A dependency job for docker.service failed. See 'journalctl -xe' for details
. При проверке journalctl я получаю следующий результат:
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.
Я несколько раз пытался перезапустить сервер. Все остальное в системе работает отлично (почта, резервные копии, сайты).
У меня нет опыта работы с modprobe или ошибкой в любом случае, поэтому любая подробная помощь будет оценена.
заранее спасибо
У меня была такая же ошибка сегодня после обновления docker-ce до версии 18.09.0 на Debian 9. Я не могу дать вам решение для этой версии, но возвращение к версии 18.06.1 заставило его снова запуститься. Для Ubuntu это должно быть:
sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu
У вас когда-нибудь работала версия 18.09.0? Моя установка вылетела сразу после обновления.
Редактировать: На самом деле есть отчет на GitHub, связанный с этой проблемой. https://github.com/containerd/containerd/issues/2772
Вроде как новый containerd
пытается загрузить модуль оверлея, даже если он уже загружен. Модуль наложения загружен в мою систему, но я не могу найти файл в /lib/modules/
Узнайте, есть ли у вас файл (в стандартной версии Ubuntu 16.04 он обязательно должен быть):
find /lib/modules -name "*overlay*"
А можно самим загрузить?
# modprobe overlay
# echo $?
0
# lsmod | grep overlay
overlay 49152 0
Я не знаю, почему докер не может его загрузить ... но если он умный, ему не нужно загружать его, если вы его уже загрузили. Так что, если вы можете загрузить его самостоятельно, попробуйте добавить его в /etc/modules
поэтому он загружается при загрузке (проверьте это снова с помощью lsmod после перезагрузки).
echo overlay >> /etc/modules