web-dev-qa-db-ja.com

ドッカーエラー:入力デバイスはTTYではありません。 minttyを使用している場合は、コマンドの先頭に「winpty」を付けてみてください

これを実行した後
$ docker run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev

次のエラーが表示されますthe input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'ここで何を使用する必要がありますか?.

23
Vipul Rao

取得したエラーメッセージで示唆されているように、 winpty (Git-Bashでデフォルトでインストールされます)を使用して、実行する必要があります。

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

これが機能する場合、常に手動でwinptyを追加することを避けるために、Bashエイリアスを設定することができます。

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

または

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

この問題は、Windowsでbashターミナルを使用して-itオプションで実行する場合に発生します。 Powershellを使用してこの問題を解決できます。

6
yamenk

Git Bashを使用している場合は、次のように試すことができます

winpty docker run -it ubuntu
6
w3outlook

「Docker Quickstart Terminal」を起動しましたか?私は走ろうとしていた

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

cygwin bashシェルのWindowsで同じエラーが発生しました:

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

その後、Windows 10システムにdockerをインストールすると、「Docker Quickstart Terminal」と呼ばれるものがインストールされたことを思い出しました。まず、タスクバーの「検索するにはここに入力してください」という物の言えないウィンドウから開始する必要があります。

enter image description here

これが起動します…

enter image description here

…そのエラーを取得したり、winptyを実行したりすることなく、そこでdockerコマンドを実行できます。

4
Red Cricket

コマンドから-itを削除します。インタラクティブに保ちたい場合は、-iを保持します

2
Harsh

動作するCmderツールを試すことができます。 Gitbashで動作しない

0
Narendra

上記のソリューションに加えて。 docker attachでこのエラーが発生する場合

docker attach Alpine1

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

ソリューション:dockerコマンドの前にwinptyを追加します。つまり、winpty docker attachは機能するはずです。

winpty docker attach Alpine1

注: Windowsベースの使用中にこのエラーが発生していましたが、この解決策はうまくいきました。

0
Balpreet Patil

WSLを使用し、cmderまたはconemu内のウィンドウでDockerを実行している場合は、 'Program Files'のウィンドウにインストールされているDockerを使用せず、代わりにubuntu/linuxのWSL内にDockerをインストールすることをお勧めします。ただし、WSL内からDocker自体を実行することはできません。WSLにインストールされたLinux DockerクライアントからWindowsで実行されているDockerに接続する必要があります。

WSLにDockerをインストールするには

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

実際のDockerコマンドを実行するオプションは次のいずれかです。-Hスイッチを使用してDockerに接続します

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

または、環境変数docker_Hostを設定します

export DOCKER_Host=tcp://localhost:2375

いずれにしても、実行中のDockerコンテナーに対話的に接続できるようになりました

0
Damo

Dockerターミナル内でコマンドを実行していない可能性があります。そうしないと、Dockerデーモンに適切に接続できず、正しく対話できなくなる可能性があります。

実際のDockerターミナルでコマンドを実行していることを確認してください。

0
FunkMasterP