docker中“附加到标准stream”是什么意思?
我正在阅读run
命令的规格,并看到以下内容:
-i:即使未连接,也要保持STDIN打开
和
-a = []:连接到
STDIN
,STDOUT
和/或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执行附加