Ich habe kürzlich mein auf Centos 7 basierendes Gerät aktualisiert. Und seitdem kann ich keine meiner Docker starten. Hat jemand Erfahrung mit diesem Problem und wenn ja, wie haben Sie es behoben? Vielen Dank für Ihre wertvolle Hilfe . Unter dem Fehlerprotokoll
docker run -it centos6_labs_ompi161_devtools3/usr/bin/docker-current: Fehlerantwort vom Daemon: Shim-Fehler: Docker-Runc ist nicht auf dem System installiert.
Ich weiß, dass dies eine ziemlich alte Frage ist. Dies geschah jedoch, als ich von CentOS - Extras Docker auf Dockers eigene Docker-UpM upgedated wurde. Die Service-Datei unter /usr/lib/systemd/system/docker.service hatte die folgenden Zeilen in der ExecStart-Zeile fest codiert:
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
Standardmäßig enthält das Docker-ce-Paket nicht die gleichen Zeilen und die Dateipfade sind unterschiedlich. Nach dem Upgrade fügte ich Folgendes hinzu und die Container respektierten meine Startbefehle, ohne dass wie erwartet Daten verloren gingen:
--add-runtime docker-runc=/usr/bin/docker-runc \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/bin/docker-proxy
Hoffe das hilft jemand anderem!
Es scheint, als würde die Docker-RPM am Ende einen symbolischen Link übersehen.
https://access.redhat.com/solutions/2876431
und dies kann leicht behoben werden durch:
cd /usr/libexec/docker/
Sudo ln -s docker-runc-current docker-runc
Fügen Sie in Bezug auf die erste Antwort den Sym-Link in/usr/bin ein, um ihn im globalen Pfad zu aktivieren
Sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
Ich habe die Methode von Nabil Ghodbane ausprobiert, aber sie hat nicht funktioniert. Dank Billabongrobs Antwort habe ich einen Weg gefunden, dieses Problem zu beheben.
$ cat /etc/docker/daemon.json
{
"log-level":"warn",
"hosts": ["unix:///var/run/docker.sock","tcp://0.0.0.0:2375"],
"runtimes": {
"docker-runc": {
"path": "/usr/libexec/docker/docker-runc-current"
}
},
"add-runtime": "docker-runc=/usr/libexec/docker/docker-runc-current",
"default-runtime": "docker-runc"
}
oder verwenden Sie diese Konfiguration in Ihrer Befehlszeile.
Bitte versuchen Sie dies
Fehler Shim-Fehler: docker-runc ist nicht auf dem System installiert
cd /usr/libexec/docker/
cp docker-runc-current /usr/bin/docker-runc