Docker和git bash:输入设备不是TTY。如果您使用的是薄荷,请尝试在命令前加上“ winpty”

时间:2018-08-10 09:04:23

标签: bash git docker mingw git-bash

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

docker exec -it service /bin/bash

但出现以下错误

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

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

winpty docker exec -it service /bin/bash

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

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

2 个答案:

答案 0 :(得分:0)

另一种选择(如果使用带有Windows 10的Docker)。

(1) 如果尚未安装Git,请安装它。

(2) 在Windows 10搜索中(即,左下角:“在此处键入要搜索的内容”),键入“ Git”

(3) 点击“ Git CMD(不推荐使用)应用”

(4) 使用被调用的外壳。似乎支持“ -it”开关...

例如

 docker exec -it db2 /bin/bash

答案 1 :(得分:-1)

尝试使用:

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

它为我工作。