什么"附加到标准流"在码头工具中意味着什么?

时间:2017-06-15 09:02:37

标签: docker stdout

我正在阅读run命令的规范并查看以下内容:

  

-i:即使没有连接也保持STDIN打开

  

-a = []:附加到STDINSTDOUT和/或STDERR

  

您可以指定要连接的三个标准流(STDIN,STDOUT,STDERR)中的哪一个

但我缺乏理解:将容器连接到标准流是什么意思?" 有人可以解释一下吗? 例如-i参数是做什么的?

2 个答案:

答案 0 :(得分:5)

好吧,STDIN(标准输入),STDOUT(标准输出),STDERR(标准误差)是三个标准流。

通常,STDIN表示键盘,STDOUT和STDERR表示直接屏幕显示。

因此,如果您想从键盘为容器提供一些输入,则需要将其连接到STDIN。如果您希望容器在屏幕上打印结果,您可能需要将其连接到STDOUT和STDERR。

否则,您的容器可以在后台运行。输入可能来自,例如,网络和输出可能存储在日志文件中。

答案 1 :(得分:1)

如果要在运行容器tty上执行任何命令,则需要为输入,输出或错误附加标准流(STDIN,STDOUT,STDERR)。

所以你可以使用-i命令保持tty intractive,即使没有附加stream。

或者可以使用-it {running container id} / bin / bash

直接执行附加