bash - Docker 和 git bash : the input device is not a TTY. 如果您使用的是 mintty,请尝试在命令前加上 'winpty' 前缀

标签 bash git docker mingw git-bash

我尝试在 git bash shell 中运行以下 Docker 命令。

docker exec -it 服务/bin/bash

但我收到以下错误

输入设备不是 TTY。如果您使用的是 mintty,请尝试在命令前加上“winpty”前缀

当我尝试使用 winpty 运行命令时,如下所示

winpty docker exec -it 服务/bin/bash

git bash shell 只是提示输入下一个命令,但在屏幕上渲染文本时却搞砸了。如何在 git bash 上正确地将交互式 shell 附加到 Docker 容器上?

我可以在 Docker Quickstart Terminal 中运行该命令,但问题是终端输出历史记录非常有限(打印新输出时旧输出会丢失)。或者,如何在 Docker 快速入门终端上将输出历史记录大小扩展到无限滚动?

最佳答案

尝试使用:

winpty -Xallow-non-tty docker exec -it service /bin/bash

这对我有用。

关于bash - Docker 和 git bash : the input device is not a TTY. 如果您使用的是 mintty,请尝试在命令前加上 'winpty' 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51782815/

相关文章:

c - bash、sh、ps 在 Linux 中如何工作?

linux - 监控没有第 3 方包的目录变化

git - 在差异中也使用逗号作为单词分隔符

git - 使用 Git stash 部分代码库

shell - 为什么 && 而不是新的 RUN

bash - 如何在 shell 脚本中切换到不同的用户并使用新用户执行一些命令?

git - Bash PS1 设置 - 如何将当前文件夹恢复为终端标题

mysql - 从 Docker 卷恢复 mysql 数据

GIT repo 错误 : Failed to push to the remote repository

python - 在Google App Engine上部署Flask和Tensorflow服务