2017-06-15 51 views
2

我读了run命令的规范,请参见:“附加到标准流”是什么意思在码头?

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

-a = [] :附加到STDIN,STDOUT和/或STDERR

可以指定三个标准流(STDIN,STDOUT,STDERR)你想连接

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

回答

4

那么,STDIN(标准输入),STDOUT(标准输出),STDERR(标准误差)有三个标准流。

通常,STDIN装置键盘,stdout和stderr意味着直接屏幕显示。

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

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

+0

你能告诉,“保持STDIN开放”意味着什么?在这种背景下,“附加”意味着什么?它为什么影响流STDIN? – Skip

1

,如果你想运行容器的tty执行任何命令你需要附上用于输入,输出或错误(STDIN,STDOUT,STDERR)的标准流。

所以,你可以保持TTY intractive使用,即使流不附-i命令。

或可以直接执行附加使用 - 它{运行的容器ID} /斌/庆典

+0

但是,这是什么意思的人'能保持TTY intractive ..如果流不attached'我能做些什么,当tty是交互式的,**无流连接**?当tty是交互式的并且流**被附加时,什么改变**? tty交互方式 - 我可以通过'exec'将命令传递给容器,它将被重定向到容器tty? – Skip

+1

yuppp,你是对的.... TTY互动方式 - 我可以通过EXEC命令传递到容器中,它会被重定向到容器终端。它不断地TTY互动,因此您可以将多个命令并执行它在容器的终端。 – Parmatma