これを実行した後$ 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'
ここで何を使用する必要がありますか?.
取得したエラーメッセージで示唆されているように、 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
この問題は、Windowsでbashターミナルを使用して-it
オプションで実行する場合に発生します。 Powershellを使用してこの問題を解決できます。
Git Bashを使用している場合は、次のように試すことができます
winpty docker run -it ubuntu
「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」と呼ばれるものがインストールされたことを思い出しました。まず、タスクバーの「検索するにはここに入力してください」という物の言えないウィンドウから開始する必要があります。
これが起動します…
…そのエラーを取得したり、winptyを実行したりすることなく、そこでdockerコマンドを実行できます。
コマンドから-it
を削除します。インタラクティブに保ちたい場合は、-i
を保持します
動作するCmderツールを試すことができます。 Gitbashで動作しない
上記のソリューションに加えて。 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ベースの使用中にこのエラーが発生していましたが、この解決策はうまくいきました。
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コンテナーに対話的に接続できるようになりました
Dockerターミナル内でコマンドを実行していない可能性があります。そうしないと、Dockerデーモンに適切に接続できず、正しく対話できなくなる可能性があります。
実際のDockerターミナルでコマンドを実行していることを確認してください。