我正在阅读run
命令的规范并查看以下内容:
-i:即使没有连接也保持STDIN打开
和
-a = []:附加到
STDIN
,STDOUT
和/或STDERR
和
您可以指定要连接的三个标准流(STDIN,STDOUT,STDERR)中的哪一个
但我缺乏理解:将容器连接到标准流是什么意思?"
有人可以解释一下吗?
例如-i
参数是做什么的?
答案 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
直接执行附加