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.
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.
Ich habe einfach vergessen, "Docker for Windows" zu starten, was zu diesem Fehler geführt hat.
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>)
Stellen Sie sicher, dass Docker für Windows in der Taskleiste ausgeführt wird. Das war mein Problem.
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
Ich habe fast eine Stunde damit verbracht, dieses Problem auf meinem Windows-Rechner zu beheben.
Settings...
aus. Gehen Sie zu Shared Drives
und wählen Sie C:
-Laufwerk aus. Sie werden zur Eingabe von Anmeldeinformationen aufgefordert. [*]docker build .
ausführenFü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.
Das Beenden von Docker und das Stoppen von Docker VM löste dies für mich.
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.
Ich verwende Docker Toolbox seit ich Windows 8.1 bin. Nach vielen Stunden der Fehlersuche habe ich dieses Problem gelöst durch:
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.