【问题标题】:Docker seems to have no tty?docker好像没有tty?
【发布时间】:2017-01-13 22:44:49
【问题描述】:

我有一个名为“Yakkety”的非常简单的 docker 文件,如下所示:

FROM ubuntu:yakkety
RUN apt-get update

我可以通过运行docker build -f Yakkety -t my-yakk . 成功地创建一个图像。但是,当我在此图像中运行 shell 时,它似乎无法产生任何输出:

% docker run -t my-yakk /bin/bash
root@ab0f59b63159:/# ls
(hangs)

我必须通过 control-C 退出该过程。

认为在旧版本的 Docker 下我也可以使用同样的过程,但我想我不能确定,因为那是几个月前的事了。

我可以做些什么来诊断问题?

我正在使用Docker version 1.12.6, build 78d1802,安装了homebrew。我在 Mac OS X 版本 10.12.2 上运行。

【问题讨论】:

  • 哦!这样可行。我确实考虑过这一点,但没有尝试过——我想我误解了“附加”的含义。您引用的文档说“如果您不指定 -a 那么 Docker 将附加所有标准流。”我以为那会覆盖我...
  • 所以我想当它是一个 STDIN 问题时,我误诊为一个 STDOUT 问题?
  • 对,不是容器没有响应,是没有收到你的输入。

标签: macos docker tty


【解决方案1】:

试试docker run -it my-yakk /bin/bash。仅使用 -t 标志时,您会获得 TTY,但它不是交互式的。这就是为什么您还需要使用 -i 标志的原因。

【讨论】:

    猜你喜欢
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多