加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – “输入设备不是TTY”在“docker run”输出中的含义是什

发布时间:2020-12-14 03:01:18 所属栏目:Linux 来源:网络整理
导读:这是一个有效的命令: $echo 'hi there' | docker run -i ubuntu cathi there 这是一个响应错误消息的命令: $echo 'hi there' | docker run -it ubuntu catthe input device is not a TTY 我想弄清楚到底发生了什么.不只是“删除-t,它将被修复”. 我知道doc
这是一个有效的命令:
$echo 'hi there' | docker run -i ubuntu cat
hi there

这是一个响应错误消息的命令:

$echo 'hi there' | docker run -it ubuntu cat
the input device is not a TTY

我想弄清楚到底发生了什么.不只是“删除-t,它将被修复”.

我知道docker run的-t选项代表“Allocate a pseudo-TTY”,我已经阅读了historical overviews of what TTY stands for,但它并没有帮助我理解这里违反了什么类型的合同.

解决方法

tty表示你有一个终端,可以由xterm或许多linux命令行界面之一提供.它需要一个与之关联的键盘和文本输出接口.想要这个的典型原因是支持彩色文本输出,处理各种键组合(如箭头键),以及在屏幕上移动光标的能力.

当您将命令管道输入docker时,就像echo示例所示,该管道是输入,并且该管道没有tty接口,它只是一个文本流.尝试使用该tty创建tty将失败,因为错误消息指示.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读