webentwicklung-frage-antwort-db.com.de

Docker Compose Up gibt an "Das System kann die angegebene Datei nicht finden." Error

Ich habe vor kurzem Docker Toolbox auf meinem Windows 10-Computer installiert.

Bei jedem Ausführen von docker-compose up wird jedoch die folgende Fehlermeldung angezeigt:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose\cli\main.py", line 65, in main
  File "compose\cli\main.py", line 117, in perform_command
  File "compose\cli\main.py", line 849, in up
  File "compose\project.py", line 372, in up
  File "compose\project.py", line 539, in warn_for_swarm_mode
  File "site-packages\docker\api\daemon.py", line 33, in info
  File "site-packages\docker\utils\decorators.py", line 47, in inner
  File "site-packages\docker\client.py", line 139, in _get
  File "site-packages\requests\sessions.py", line 488, in get
  File "site-packages\requests\sessions.py", line 475, in request
  File "site-packages\requests\sessions.py", line 596, in send
  File "site-packages\requests\adapters.py", line 423, in send
  File "site-packages\requests\packages\urllib3\connectionpool.py", line 595, in urlopen
  File "site-packages\requests\packages\urllib3\connectionpool.py", line 363, in _make_request
  File "httplib.py", line 1057, in request
  File "httplib.py", line 1097, in _send_request
  File "httplib.py", line 1053, in endheaders
  File "httplib.py", line 897, in _send_output
  File "httplib.py", line 859, in send
  File "site-packages\docker\transport\npipeconn.py", line 31, in connect
  File "site-packages\docker\transport\npipesocket.py", line 22, in wrapped
  File "site-packages\docker\transport\npipesocket.py", line 49, in connect
pywintypes.error: (2, 'WaitNamedPipe', 'The system cannot find the file specified.')
docker-compose returned -1

Beachten Sie, dass ich C:\Python27 und C:\Python27\Scripts in beiden Umgebungsvariablen user und system habe. Ich habe es auch mit Python 3 ausprobiert und funktioniert immer noch nicht.

43
Yahya Uddin

Sie und ich haben möglicherweise dasselbe Problem. In dem oben von @Haken Lid veröffentlichten Link liegt das Problem darin, dass die Umgebungsvariable PATH nicht die richtige Version von Python hat.

ABER für mich bestand das Problem darin, dass ich nicht alle Umgebungsvariablen gesetzt hatte

eval $(docker-machine env <vmname>)

bevor ich den docker-compose <any command> lief.

18
jenming

Ich habe einfach vergessen, "Docker for Windows" zu starten, was zu diesem Fehler geführt hat.

104
Razze

Führen Sie docker-compose Mit dem Docker-Schnellstart-Terminal aus. Es wird Ihren Fehler beheben.

Das Docker Quickstart Terminal ist meistens eine reguläre Shell, erlaubt aber das Erstellen eines Standardrechners. Es kann auch zur Verbindung mit anderen Computern verwendet werden:

eval $(docker-machine env <MACHINE_NAME>)

16

Stellen Sie sicher, dass Docker für Windows in der Taskleiste ausgeführt wird. Das war mein Problem.

10
Mike Glenn

Sie können Eigenschaften festlegen, indem Sie die folgenden Befehle eingeben:

docker-machine env --Shell cmd default
@FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO @%i
4
Bala

Ich habe fast eine Stunde damit verbracht, dieses Problem auf meinem Windows-Rechner zu beheben.

  1. Installiere Python (Version 3.6.1 funktionierte gut für mich) und wähle die Option "Zu PATH hinzufügen".
  2. Installieren Sie Docker .
  3. Starten Sie Ihren Rechner neu. 
  4. In Ihrer Benachrichtigungsleiste wird ein Symbol für Docker angezeigt. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Settings... aus. Gehen Sie zu Shared Drives und wählen Sie C:-Laufwerk aus. Sie werden zur Eingabe von Anmeldeinformationen aufgefordert. [*]
  5. docker build . ausführen
  6. Führen Sie docker-compose up aus.

    [*]: Wenn Sie diesen Schritt nicht ausführen, wird dieser Fehler möglicherweise in Schritt 6 angezeigt: ERROR: for website Cannot create container for service website: C: drive is not shared. Please share it in Docker for Windows Settings. Wenn nach der Eingabe Ihrer Anmeldeinformationen das Laufwerk C: nicht geprüft wird, erstellen Sie einen neuen Benutzer für Ihren Computer, der vollen Zugriff auf den Ordner hat, in dem Sie docker-compose up ausführen.

Ich hatte dieses Problem mit einer Neuinstallation von Docker unter Windows 10. Mein Problem war, dass ich Docker nicht zuerst ausgeführt hatte. Ich habe gerade die .msi installiert und von der Kommandozeile aus "docker-compose" ausgeführt.

Nachdem ich Docker ausgeführt hatte (und einige weitere Schritte nach der Installation befolgt hatte, um sich vom Computer abzumelden und neu zu starten), konnte ich docker-compose ohne Probleme ausführen.

3
Dustin Rasener

Das Beenden von Docker und das Stoppen von Docker VM löste dies für mich.

2
AUBG

In Docker Quickstart Terminal habe ich docker-machine env ausgeführt und es gab mir:

export DOCKER_TLS_VERIFY="1"
export DOCKER_Host="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="C:\Users\TheGeniesis\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"

#### Run this command to configure your Shell:
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)

Ich lief eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env). Das ist es!

Diese Lösung wurde aus dieser Ausgabe kopiert. Ich habe ein Windows 10-Heimnetzwerk. Das hat mein Problem gelöst.

2
HackAfro

Ich verwende Docker Toolbox seit ich Windows 8.1 bin. Nach vielen Stunden der Fehlersuche habe ich dieses Problem gelöst durch:

  • Deinstallieren Sie Python 2.7, installieren Sie Python 3.6.4 und fügen Sie es den Umgebungsvariablen hinzu.
  • Starten Sie Docker Quickstart Terminal neu und führen Sie den Befehl von dort aus aus.
0

Hatte dieses Problem unter Windows nach dem Neustart von Docker Desktop.

Die Lösung bestand darin, mein Terminalfenster zu schließen und ein neues zu öffnen.

Ich bin auf dieses Problem gestoßen, nachdem das Docker Quickstart Terminal beim Starten eine Weile an "Warten auf eine IP ..." hängen blieb.

Durch den Neustart des Docker Quickstart Terminals wurde alles behoben.

0
d23