Das Problem
Das Docker-Engine-Paket wurde aktualisiert. Danach ist der Benutzer nicht in der Lage, den Docker-Dienst zu starten und kehrt mit dem Fehler „docker dead but subsys locked“ zurück, wenn er den Status des Dienstes überprüft. Unter normalen Umständen wäre die allgemeine Lösung, die Sperrdatei und die toten Dateien des Dienstes zu entfernen. Dies trifft in diesem Zustand nicht zu.
# rm /var/run/docker/execdriver/native/ # rm /var/lock/subsys/docker
# docker info Cannot connect to the Docker daemon. Is the docker daemon running on this host?
# /etc/init.d/docker status docker dead but subsys locked
# /etc/init.d/docker start Starting docker: .......... [FAILED]
# rpm -qa | grep docker docker-engine-1.10.3-1.0.3.el6.x86_64 <<--- currently installed package
# uname -a Linux ol65-lxc 4.1.12-37.2.2.el6uek.x86_64 #2 SMP Thu May 5 11:45:35 PDT 2016 x86_64 x86_64 x86_64 GNU/Linux
# tail -n 10 /var/log/docker Thu Jun 16 16:42:20 IST 2016 flag provided but not defined: -d See '/usr/bin/docker --help'. Thu Jun 16 16:47:44 IST 2016 flag provided but not defined: -d See '/usr/bin/docker --help'. Thu Jun 16 16:48:34 IST 2016 flag provided but not defined: -d See '/usr/bin/docker --help'. Thu Jun 16 17:04:03 IST 2016
Die Lösung
Es gibt ein Kompatibilitätsproblem der Docker-Engine mit der Kernel-Version UEK4. Die Lösung des Problems besteht darin, das Docker-Engine-Paket auf die vorherige Version herunterzustufen. Beim Ausführen des Befehls „yum list“ wird nur die neueste Version angezeigt, die unter dem Kanal verfügbar ist. Um eine ältere Version anzuzeigen, können Sie den Schalter "showduplicates" verwenden, wie unten gezeigt. Später können Sie das Paket wie gezeigt entfernen und installieren.
# yum list --showduplicates | grep -i docker-engine docker-engine.x86_64 1.10.3-1.0.3.el6 @ol6_addons docker-engine.x86_64 1.8.2-1.0.2.el6 ol6_addons docker-engine.x86_64 1.8.3-1.0.1.el6 ol6_addons docker-engine.x86_64 1.9.1-1.0.1.el6 ol6_addons docker-engine.x86_64 1.10.3-1.0.1.el6 ol6_addons docker-engine.x86_64 1.10.3-1.0.2.el6 ol6_addons docker-engine.x86_64 1.10.3-1.0.3.el6 ol6_addons
# yum remove docker-engine-1.10.3-1.0.3.el6.x86_64 -y
# yum install docker-engine-1.9.1-1.0.1.el6.x86_64 -y
Nach Abschluss kann der Dienst erfolgreich gestartet werden.
# /etc/init.d/docker start Starting docker: . [ OK ]
# /etc/init.d/docker status docker (pid 2416) is running...
# docker -d Warning: '-d' is deprecated, it will be removed soon. See usage. WARN[0000] please use 'docker daemon' instead. INFO[0000] [graphdriver] using prior storage driver "btrfs" INFO[0000] API listen on /var/run/docker.sock INFO[0000] Firewalld running: false INFO[0000] Default bridge (docker0) is assigned with an IP address 172.17.0.1/16. Daemon option --bip can be used to set a preferred IP address INFO[0000] Loading containers: start. INFO[0000] Loading containers: done. INFO[0000] Daemon has completed initialization INFO[0000] Docker daemon commit=08eb66d execdriver=native-0.2 graphdriver=btrfs version=1.9.1