docker中“附加到标准stream”是什么意思?

我正在阅读run命令的规格,并看到以下内容:

-i:即使未连接,也要保持STDIN打开

-a = []:连接到STDINSTDOUT和/或STDERR

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

但我缺乏理解: “将容器连接到标准stream”意味着什么? 有人可以解释吗? 什么是例如-i参数呢?

那么,STDIN(标准input),STDOUT(标准输出),STDERR(标准错误)是三个标准stream。

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

所以,如果你想给你的容器从键盘input一些东西,你需要把它连接到STDIN。 如果您希望容器在屏幕上显示结果,则可能需要将其连接到STDOUT和STDERR。

否则,你的容器可以在后台运行。 input可能来自networking,输出可能存储在日志文件中。

如果要在运行container tty时执行任何命令,则需要为input,输出或错误(STDIN,STDOUT,STDERR)附加标准stream。

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

或者可以直接使用-it {运行容器标识符} / bin / bash执行附加