Ошибка докера: устройство ввода не является 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'
Что я должен использовать здесь, я запускаю Windows 8 в MINGW64.
Ответы
Ответ 1
Как следует из полученного сообщения об ошибке, вы должны попытаться использовать winpty (который устанавливается по умолчанию вместе с Git-Bash) и запустить:
winpty docker run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev
Если это работает, вы можете установить псевдоним Bash, чтобы не winpty
вручную:
echo "alias docker='winpty docker'" >> ~/.bashrc
или же
echo "alias docker='winpty docker'" >> ~/.bash_profile
Ответ 2
Эта проблема возникает при запуске с опцией -it
с использованием терминала bash в окнах. Вы можете использовать Powershell для решения этой проблемы.
Ответ 3
Если вы используете Git Bash, вы можете попробовать вот так
winpty docker run -it ubuntu
Ответ 4
Вы запустили "Docker Quickstart Terminal"? Я пытался бежать
$ docker run -i -t redcricket/react-tutorial:latest /bin/bash
на Windows из оболочки Cygwin Bash и получил ту же ошибку:
the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
Затем я вспомнил, что, когда я установил Docker в моей системе Windows 10, было установлено что-то под названием "Docker Quickstart Terminal". Вы должны начать это сначала с этого тупого окна "Напечатайте здесь, чтобы искать" вещь на панели задач:
![enter image description here]()
Это запускает это...
![enter image description here]()
… Вы можете запускать там свои команды docker без этой ошибки или запуска winpty.
Ответ 5
Удалите -it
из команды. Если вы хотите сохранить его интерактивным, сохраните -i
Ответ 6
Возможно, вы не запускаете команды в терминале Docker. Если вы этого не сделаете, возможно, вы неправильно подключены к демону Docker и не сможете правильно взаимодействовать.
Убедитесь, что вы выполняете команды в реальном Docker Terminal.
Ответ 7
Вы можете попробовать с помощью инструмента Cmder, он будет работать. Это не работает с Gitbash
Ответ 8
В дополнение к вышеупомянутым решениям. В случае, если вы получаете эту ошибку для присоединения докера
пример: docker attach alpine1
ошибка: the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
Решение: добавление winpty перед командой docker, т.е. winpty docker attach, должно работать.
пример: winpty docker attach alpine1
Примечание: я получал эту ошибку при использовании базы на Windows, и это решение работало для меня.
Ответ 9
Для тех, кто использует WSL и запускает Docker для окон внутри cmder или conemu, я бы рекомендовал не использовать Docker, который установлен на окнах в "Program Files", а вместо этого установить Docker внутри WSL на ubuntu/linux. Помните, однако, что вы не можете запустить сам Docker из WSL, вы должны подключиться к Docker, работающему в Windows, из клиента Linux Docker, установленного в WSL.
Чтобы установить Docker на 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
Возможны следующие варианты выполнения текущих команд Docker: Подключитесь к Docker с помощью переключателя -H
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.
Ответ 10
Просто добавьте winpty в начале вашего cmd, попробуйте ниже:
$ winpty docker.exe run --rm -v "/c/users/vipul rao/documents/github/wappalyzer:/opt/wappalyzer" -it wappalyzer/dev
Почему это происходит? Подробнее здесь:http://willi.am/blog/2016/08/08/docker-for-windows-interactive-sessions-in-mintty-git-bash/