2017-10-27 3 views
1

Ich bin neu bei der Verwendung von Docker und ich versuche, ein Tutorial auf this link zu folgen, die einen Docker erfordert. Ich habe erfolgreich den Docker unter Ubuntu mit dem Docker docs Tutorial installiert.Fehler bei der Verwendung von docker run

Ich folge Option A und habe Schritte 1, 2 und 3 abgeschlossen. Für 3 musste ich der Anweisung sudo vorangehen, damit es funktioniert. Jedoch wenn ich versuche, Schritt 4 mit dem Befehl docker run -it -p 8888:8888 -v <path to repo>:/root mlatberkeley/showandtell zu laufen, bekomme ich folgende Fehlermeldung:

docker: Error response from daemon: driver failed programming external connectivity on endpoint eager_pasteur (fb195057d626924#####################3d3d6f24071497fc443fbd8c9): Error starting userland proxy: listen tcp 0.0.0.0:8888: bind: address already in use. 

ich einige der Reihe von Zahlen oben in dem Ausgangsfehler gehasht habe. Ich bin neu bei Docker und ich wäre dankbar für einen Vorschlag, um den Fehler zu beheben.

+0

Sieht so aus, als ob ein anderes Programm den Port 8888 verwendet. Sie könnten versuchen: -p 8866: 8888 – opHASnoNAME

+0

Stack Overflow ist eine Website für Programmier- und Entwicklungsfragen. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/) oder [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) wäre ein besserer Ort, um zu fragen. – jww

Antwort

2

Es scheint ein anderer Prozess zu sein, der auf Port binded ist 8888.

diesen Prozess finden sudo netstat -tulpn | grep :8888 den Befehl ausführen. Dies zeigt Ihnen die Prozess-PID in der letzten Spalte.

Dies könnte ein Docker-Container sein, den Sie zuvor gestartet haben. Versuchen Sie in diesem Fall, den Container zu entfernen, indem Sie docker container ls und dann Docker container rm -f <container-name-from-prev-command> ausführen. Sie können den neuen Container auch an einem neuen Port starten, indem Sie 8888:8888 durch 9999:8888 ersetzen.

+0

Als ich "sudo netstat -tulpn | grep: 8888" lief, gab es zurück: "tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 14462/python " –

+1

@spicyburrito Dies bedeutet, dass es einige Python-Anwendung mit PID 14462 gibt Das läuft auf Ihrem Rechner, der an Port 8888 gebunden ist. Sie können diesen Vorgang mit 'sudo kill 14456' beenden oder einen alternativen Port verwenden, wie in der Antwort beschrieben. – yamenk

Verwandte Themen