web-dev-qa-db-fra.com

erreur du menu fixe: le périphérique d'entrée n'est pas un TTY. Si vous utilisez menthe, essayez de préfixer la commande avec 'winpty'

Après je lance cette
$ docker run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev

Je reçois l'erreur suivante the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty' Que dois-je utiliser ici, je suis sous Windows 8 dans MINGW64.

12
Vipul Rao

Comme suggéré par le message d'erreur que vous obtenez, vous devriez essayer d'utiliser winpty (qui est installé par défaut avec Git-Bash) et exécuter ainsi:

winpty docker run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev

Si cela fonctionne, vous voudrez peut-être définir un alias Bash pour éviter de toujours ajouter manuellement winpty:

echo "alias docker='winpty docker'" >> ~/.bashrc

ou

echo "alias docker='winpty docker'" >> ~/.bash_profile
20
ErikMD

Ce problème se produit lors de l'exécution avec l'option -it à l'aide du terminal bash sous Windows. Vous pouvez utiliser Powershell pour résoudre ce problème.

3
yamenk

Avez-vous démarré "Docker Quickstart Terminal"? J'essayais de courir 

$ docker run -i -t redcricket/react-tutorial:latest /bin/bash

sur les fenêtres d'un shell bash Cygwin et a la même erreur:

the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'

Ensuite, je me suis rappelé que, lorsque j’ai installé Docker sur mon système Windows 10, un logiciel appelé "Docker Quickstart Terminal" a été installé. Vous devez commencer en premier à partir de cette fenêtre muette 'Tapez ici pour rechercher' dans la barre des tâches:

 enter image description here

Ça lance ça…

 enter image description here

… Vous pouvez y exécuter vos commandes de menu fixe sans obtenir cette erreur ou exécuter winpty.

2
Red Cricket

Supprimez -it de la commande. Si vous voulez le garder interactif, gardez -i

2
Harsh

vous pouvez essayer avec l'outil Cmder cela fonctionnera. Cela ne fonctionne pas avec Git Bash

0
Narendra

En plus des solutions mentionnées ci-dessus . Dans le cas où vous obtenez cette erreur pour docker attach 

exemple: docker attach Alpine1

error: the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'

Solution: Ajouter Winpty avant la commande Docker, c'est-à-dire que Winpty Docker Attach devrait fonctionner.

exemple: winpty docker attach Alpine1

Note: J'obtenais cette erreur en utilisant la base sur Windows et cette solution a fonctionné pour moi.

0
Balpreet Patil

Pour ceux qui utilisent WSL et exécutent Docker pour Windows dans cmder ou conemu, je vous recommande de ne pas utiliser Docker installé sur Windows dans "Program Files", mais plutôt d'installer Docker dans WSL sous Ubuntu/Linux. Rappelez-vous cependant que vous ne pouvez pas exécuter Docker lui-même à partir de WSL, vous devez vous connecter à Docker s'exécutant sous Windows à partir du client Linux Docker installé dans WSL.

Pour installer Docker sur WSL

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | Sudo apt-key add -
Sudo add-apt-repository "deb [Arch=AMD64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Sudo apt-get update
Sudo apt-get install docker-ce

Vos options pour exécuter les commandes réelles de Docker sont les suivantes: Connectez-vous à Docker à l’aide du commutateur -H

docker -H localhost:2375 run -it -v /mnt/c/code:/var/app -w "/var/app" centos:7

Ou définissez la variable d'environnement docker_Host

export DOCKER_Host=tcp://localhost:2375

De toute façon, vous pouvez maintenant vous connecter de manière interactive à un conteneur Docker en cours d’exécution.

0
Damo

Il se peut que vous n’exécutiez pas vos commandes dans le terminal Docker. Sinon, vous ne serez peut-être pas connecté correctement au démon Docker et vous ne pourrez pas interagir correctement. 

Assurez-vous que vous exécutez des commandes dans le terminal Docker actuel.

0
FunkMasterP