Ich habe alle im Internet verfügbaren Lösungen angewendet, kann Docker jedoch nicht ausführen.
Ich möchte Scrapy Splash auf meinem Server verwenden.
Hier sind history
Befehle, die ich ausgeführt habe.
docker run -p 8050:8050 scrapinghub/splash
Sudo docker run -p 8050:8050 scrapinghub/splash
Sudo usermod -aG docker $(whoami)
Sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
Sudo docker run -p 8050:8050 scrapinghub/splash
reboot
Sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash
Sie können sehen, dass ich auch versucht habe, meinen Server neu zu starten, aber es hat nicht geholfen.
siehe Ausgabe von ps -aux | grep docker
[email protected]:/var/www/html# ps aux | grep docker
root 8524 0.0 0.8 127904 13964 ? Ssl 17:21 0:00 /usr/bin/dockerd --raw-logs
root 8534 0.0 0.3 90588 5012 ? Ssl 17:21 0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root 8543 0.0 0.0 8812 764 pts/1 S+ 17:21 0:00 grep --color=auto docker
root 16356 0.0 0.0 17200 964 pts/1 S 17:14 0:00 newgrp docker
root 20080 0.0 0.0 17200 964 pts/1 S 17:06 0:00 newgrp docker
root 30221 0.0 0.0 17200 964 pts/1 S 17:09 0:00 newgrp docker
Sie können dies ausprobieren:
systemctl start docker
Es hat gut für mich funktioniert.
Ps: Wenn es Befehle gibt, die Sie ohne Sudo nicht ausführen können, versuchen Sie Folgendes:
gpasswd -a $USER docker
Sie können diese Fehlermeldung erhalten, wenn das Andockfenster nicht ordnungsgemäß heruntergefahren wird. Die folgende Antwort bezieht sich auf das Docker-Snap-Paket.
Führen Sie snap logs docker
aus und suchen Sie nach folgendem:
Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid
Das Löschen dieser Datei und das Neustarten des Dockers funktionierte für mich.
rm /var/snap/docker/179/run/docker.pid
snap stop docker
snap start docker
Stellen Sie sicher, dass Sie '179' durch die entsprechende Versionsnummer ersetzen
Versuchen Sie es zuerst mit Sudo, da der aktuelle Benutzer möglicherweise keine Zugriffsberechtigungen für die Kommunikation mit dem Docker-Dämon hat, d. H. /Var/run/docker.sock
Wenn es immer noch nicht funktioniert, stoppen Sie den Docker-Daemon nach der Installation einfach als
$ Sudo service docker stop
Führen Sie den folgenden Befehl aus, um den Dämon im Hintergrund zu starten.
$ Sudo Nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
Um die Arbeit mit Docker zu vereinfachen, sollten Sie Ihren Benutzernamen zu der Docker-Benutzergruppe .__ hinzufügen. Das Hinzufügen eines Benutzers zur Gruppe kann mit dem Befehl Durchgeführt werden, indem am Ende der Benutzername hinzugefügt wird
$ Sudo usermod -aG docker
Dieser Schritt wird auch in der offiziellen Dokumentation der Docker-Schritte nach der Installation für Linux erwähnt ( https://docs.docker.com/engine/installation/linux/linux-postinstall/ ).
Die Benutzer von Ubuntu 16.04 können diesen Schritten folgen:
Innerhalb der Datei /lib/systemd/system/docker.service change: ExecStart =/usr/bin/dockerd fd: // Mit ExecStart =/usr/bin/dockerd -H tcp: //0.0.0.0: 2375
Innerhalb der Datei /etc/init.d/docker change:
DOCKER_OPTS = Mit DOCKER_OPTS = "- H **** tcp: //0.0.0.0: 2375"
und starten Sie Ihren Rechner neu. Und fangen Sie an, mit Docker zu spielen.
Renn einfach
Sudo dockerd
und du wirst gut gehen.
Dies ist normalerweise der Fall, wenn Sie das Andockfenster wahrscheinlich nicht beendet haben.
Lösen
service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start
dann "docker run ....", um das Image herunterzuladen und den Container wie gewohnt zu starten
hier ist die Lösung, die für mich unter Linux funktioniert
systemctl start docker
.
Für mich bestand die Lösung einfach darin, sicherzustellen, dass ich das richtige Docker-Paket installiert hatte. Zum Beispiel sind für Ubuntu die veralteten Pakete :
Überprüfen Sie zur Installation https://docs.docker.com . Anweisungen werden zum Zeitpunkt des Schreibens für Ubuntu , CentOS , Debian und Fedora bereitgestellt.
Ich hatte das gleiche Problem für gitlab CI, das Knoten ausführt: lts image:
Stellen Sie sicher, dass die Informationen in diesem Pfad /etc/docker/daemon.json
{
"registry-mirror": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"192.168.199.100:5000"
]
}
löschen
"insecure-registries": [
"192.168.199.100:5000"
]
und läuft gut Bildbeschreibung hier eingeben
Ich laufe auf root und habe es unten versucht, es hat funktioniert:
service docker start
export DOCKER_Host="tcp://0.0.0.0:2375"
verwenden Sie dies in Ubuntu Export DOCKER_Host = tcp: // localhost: 2375
Ich habe versucht, docker (gerade installiert) in einer Instanz von AWS auszuführen, wenn die Meldung angezeigt wird. Ich schreibe nur Sudo service docker start
und funktioniert gut für mich.
Siehe auch AWS mit Docker
Dies funktionierte für mich. Es könnte nur für Sie funktionieren, wenn Sie Ubuntu 16 oder 18 verwenden (14 funktionieren möglicherweise auch). Einfach zu versuchen:
Gehen Sie zu Ubuntu Software und geben Sie Docker ..__ ein. Deinstallieren Sie Docker (108 mb), falls es dort vorinstalliert ist . Installieren Sie Docker Führen Sie nun die Befehle aus und prüfen Sie, ob der gleiche Fehler auftritt
Der Fehler:
Wie du siehst, hat es funktioniert :)
export DOCKER_Host = tcp: // localhost: 2375 ist ideal für alle, die keinen Sudo-Zugriff haben und der Benutzer keinen Zugriff auf unix: ///var/run/docker.sock hat
Ich hatte das gleiche Problem unter Linux, als ich docker mit yum (yum install docker) installiert habe.
Lösung: Laden Sie die Docker-Binärdatei von der offiziellen Website herunter: docker install , entpacken Sie sie und folgen Sie den Installationsschritten.