Nun, endlich habe ich es behoben
Alles, was Sie tun müssen, ist, einen anderen Speichertreiber zu laden in meinem Fall verwende ich overlay
:
- Docker-Dienst deaktivieren :
sudo systemctl stop docker.service
- Starten Sie den Docker-Daemon (
overlay
Treiber):sudo docker daemon -s overlay
- Demo-Container ausführen :
sudo docker run hello-world
Um diese Änderungen dauerhaft zu machen, müssen Sie /etc/default/docker
bearbeiten Datei und fügen Sie die Option hinzu:
DOCKER_OPTS="-s overlay"
Nächstes Mal Docker-Dienst geladen wird, wird docker daemon -s overlay
ausgeführt
Die folgenden Demaskierungsbefehle haben bei mir funktioniert (Ubuntu 18). Hoffe es hilft jemandem da draußen... :-)
sudo systemctl unmask docker.service
sudo systemctl unmask docker.socket
sudo systemctl start docker.service
Aktualisieren
Es scheint, dass in neueren Versionen von Docker und Ubuntu die Unit-Datei für Docker einfach maskiert ist (zeigt auf /dev/null).
Sie können dies überprüfen, indem Sie die folgenden Befehle im Terminal ausführen:
sudo file /lib/systemd/system/docker.service
sudo file /lib/systemd/system/docker.socket
Sie sollten sehen, dass die Unit-Datei symbolisch auf /dev/null verweist.
In diesem Fall müssen Sie nur dem Vorschlag von S34N folgen und Folgendes ausführen:
sudo systemctl unmask docker.service
sudo systemctl unmask docker.socket
sudo systemctl start docker.service
sudo systemctl status docker
Ich werde auch den ursprünglichen Beitrag behalten, der das Fehlerprotokoll beantwortet, das besagt, dass der Speichertreiber ersetzt werden sollte:
Originalbeitrag
Ich hatte das gleiche Problem und habe versucht, es mit dem Vorschlag von Salva Cort zu beheben, aber /etc/default/docker
gedruckt sagt:
# DIESE DATEI GILT NICHT FÜR SYSTEMD
Hier ist also eine dauerhafte Lösung, die für systemd (Ubuntu 15.04 und höher) funktioniert:
-
Erstellen Sie eine neue Datei
/etc/systemd/system/docker.service.d/overlay.conf
mit folgendem Inhalt:[Service] ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// -s overlay
-
Flush-Änderungen durch Ausführen von:
sudo systemctl daemon-reload
-
Überprüfen Sie, ob die Konfiguration geladen wurde:
systemctl show --property=ExecStart docker
-
Docker neu starten:
sudo systemctl restart docker
Ich hatte das gleiche Problem nach dem Upgrade von Docker von 17.05-ce auf 17.06-ce über docker-machine
-
Aktualisieren Sie /etc/systemd/system/docker.service.d/10-machine.conf
ersetzen
`docker daemon` => `dockerd`
Beispiel aus
[Service] ExecStart= ExecStart=/usr/bin/docker deamon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic Environment=
zu
[Service] ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic Environment=
-
Flush-Änderungen durch Ausführen von:
sudo systemctl daemon-reload
-
Docker neu starten:
sudo systemctl restart docker