Docker-Fehler unter Windows: Das Eingabegerät ist kein TTY. Wenn Sie mintty verwenden, versuchen Sie, dem Befehl „winpty“ voranzustellen. [duplicate]
Lesezeit: 5 Minuten
Vipul Rao
Nachdem ich das ausgeführt habe $ docker run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev
Ich erhalte den folgenden Fehler
das Eingabegerät ist kein TTY. Wenn Sie mintty verwenden, versuchen Sie, dem Befehl „winpty“ voranzustellen.
Was soll ich hier verwenden? Ich verwende Docker unter Windows 8 in MINGW64.
Ich verwende MobaXterm und bekomme das gleiche Problem. Ändern Sie einfach die Shell-Option in cmd oder Powershell könnte das Problem ebenfalls beheben.
– Dylan
7. Mai 2019 um 7:19 Uhr
Ja, wenn ich unter Windows von Git-Bash zu Power-Shell wechsle, funktioniert es wie am Schnürchen. Danke
– Krishna
22. Oktober 2020 um 18:34 Uhr
Verwenden Sie einfach dieses “winpty docker exec -it c440b946173d redis-cli”
– Hrishikesh Baidya
15. April 2021 um 15:21 Uhr
Wie in der Fehlermeldung vorgeschlagen, die Sie erhalten, sollten Sie versuchen, zu verwenden winzig (das standardmäßig mit Git-Bash installiert wird) und somit ausführen:
winpty docker run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev
Wenn dies funktioniert, möchten Sie möglicherweise einen Bash-Alias festlegen, um ein manuelles Voranstellen zu vermeiden winpty die ganze Zeit:
Ihr Vorschlag, einen Alias zu erstellen, hat perfekt funktioniert – vielen Dank.
– Novocain
18. Februar 2019 um 14:26 Uhr
Cygwin: Kommt nicht gebündelt aus der Box, sondern ein Git-Klon des Repos und des Standards ./configure && make && make install stellt es auch dort zur Verfügung
– Zoe steht mit der Ukraine ♦
4. April 2019 um 17:48 Uhr
das funktioniert, aber Rohre brechen, überprüfen Sie die Antwort von @cesarpino unten.
– rnrneverdies
10. August 2020 um 12:18 Uhr
Gold! gute Antwort
– Herrzik
8. Oktober 2020 um 3:28 Uhr
Schön funktioniert super
– Emmanuel Njorodongo
16. Juli 2021 um 13:14 Uhr
Wenn Sie Git Bash verwenden, können Sie es so versuchen
winpty docker run -it ubuntu
Jamenk
Dieses Problem tritt auf, wenn mit ausgeführt wird -it Option mit dem Bash-Terminal unter Windows. Sie können Powershell verwenden, um dieses Problem zu beheben.
Kann die Erklärung hinzufügen, warum?
– Tarun Lalwani
5. Februar 2018 um 13:16 Uhr
Dies ist der Fehler, den ich nach der Verwendung von Powershell erhalte $ docker run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev C:\Program Files\Docker Toolbox\docker.exe: error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.35/containers/create: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running. See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
– Vipul Rao
6. Februar 2018 um 4:15 Uhr
Sie müssen die Shell mit dem Docker-Daemon verbinden, indem Sie die env-Variablen aus dem Befehl festlegen docker-machine env default. Sie können auch das Docker-Schnellstartterminal verwenden, das mit dem Docker-Daemon verbunden ist.
– Jamenk
6. Februar 2018 um 8:30 Uhr
Die Powershell hat mein Problem behoben
– Wesley Abbenhuis
7. August 2018 um 13:49 Uhr
Ich verwende Powershell und erhalte immer noch diesen Fehler. Ich weiß nicht einmal, was winpty, mintty oder git-bash ist. Git verwende ich nicht. Entfernen -it löst das nicht.
– Wasserspeier
21. April um 5:43 Uhr
Das funktioniert für mich. Ich verwende Git Bash unter Windows
winpty docker-compose exec app ls -l
Entfernen -it aus dem Befehl. Wenn Sie es interaktiv halten möchten, dann behalten Sie es bei -i
OK, aber das löst das Problem nicht, es vermeidet es nur 🙂
– ErikMD
29. April 2018 um 20:09 Uhr
Es vermeidet es nicht einmal. Ich entfernte -it aber ich bekomme immer noch den Fehler, nativ in Powershell ausgeführt zu werden, kein Wintty, kein Mintty, kein Git-Bash irgendwo im System (idek, was diese Dinge sind).
– Wasserspeier
21. April um 5:47 Uhr
Nicht verwenden alias docker="winpty docker". Es löst Ihr Problem, aber Rohre brechen.
$ winpty docker run -ti ubuntu
root@e85cff7d1670:/# exit
$ wintpy docker run ubuntu bash HELLO
HELLO
$ wintpy docker run ubuntu bash HELLO | cat
stdout is not a tty
Kopieren Sie dies in Ihre .bashrc. Dieses Skript verwendet winpty docker nur wenn -ti wird genutzt.
function docker(){
for param; do if [[ "$param" == "-ti" ]] || [[ "$param" == "-it" ]]; then
winpty docker "$@"; return
fi; done;
command docker "$@"
}
docker run -ti ubuntu wird winpty docker run -ti ubuntu vermeidet error: the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'"
docker run ubuntu echo "what's up" | cat wird command docker run echo "what'up" | cat vermeidet error: stdout is not a tty
Das Skript sucht nur, ob es einen ‘-it’-Parameter gibt, ohne zu prüfen, ob er sich in einem ‘docker run’-Satz befindet … aber für meine Zwecke reicht es aus.
OK, aber das löst das Problem nicht, es vermeidet es nur 🙂
– ErikMD
29. April 2018 um 20:09 Uhr
Es vermeidet es nicht einmal. Ich entfernte -it aber ich bekomme immer noch den Fehler, nativ in Powershell ausgeführt zu werden, kein Wintty, kein Mintty, kein Git-Bash irgendwo im System (idek, was diese Dinge sind).
– Wasserspeier
21. April um 5:47 Uhr
Rote Grille
Haben Sie “Docker Quickstart Terminal” gestartet? Ich versuchte zu rennen
$ docker run -i -t redcricket/react-tutorial:latest /bin/bash
unter Windows von einer Cygwin-Bash-Shell und bekam den gleichen Fehler:
the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
Dann erinnerte ich mich, dass bei der Installation von Docker auf meinem Windows 10-System etwas namens “Docker Quickstart Terminal” installiert wurde. Sie müssen das zuerst von diesem dummen Windows-Ding “Hier eingeben, um zu suchen” in der Taskleiste starten:
Das startet diese …
… Sie können Ihre Docker-Befehle dort ausführen, ohne diesen Fehler zu erhalten oder winpty auszuführen.
14298400cookie-checkDocker-Fehler unter Windows: Das Eingabegerät ist kein TTY. Wenn Sie mintty verwenden, versuchen Sie, dem Befehl „winpty“ voranzustellen. [duplicate]yes
Ich verwende MobaXterm und bekomme das gleiche Problem. Ändern Sie einfach die Shell-Option in cmd oder Powershell könnte das Problem ebenfalls beheben.
– Dylan
7. Mai 2019 um 7:19 Uhr
Ja, wenn ich unter Windows von Git-Bash zu Power-Shell wechsle, funktioniert es wie am Schnürchen. Danke
– Krishna
22. Oktober 2020 um 18:34 Uhr
Verwenden Sie einfach dieses “winpty docker exec -it c440b946173d redis-cli”
– Hrishikesh Baidya
15. April 2021 um 15:21 Uhr