标志-i和-t在docker run方面意味着什么?

时间:2018-10-12 00:59:14

标签: docker

我对Docker以及Unix / Linux世界都是新手。我一直在使用docker构建映像并旋转一些容器,并且确实非常了解容器化的概念。但是,有时我确实看到有些人使用诸如:p的标志来旋转容器

docker run -i -t imagename

我试图了解它的价值,并在这里找到了docker文档:https://docs.docker.com/v1.13/engine/reference/run/

它有一些非常神秘的解释,例如

-i: Keep STDIN open even if not attached

-t: Allocate a pseudo-tty

这甚至意味着什么?

1 个答案:

答案 0 :(得分:1)

https://docs.docker.com/engine/reference/run/#foreground

  

-a = []:附加到STDINSTDOUT和/或STDERR
  -t:分配伪tty
  --sig-proxy = true:将所有接收到的信号代理到进程(仅非TTY模式)
  -i:即使未连接STDIN也保持打开状态

如果不指定-a,则Docker将同时附加到stdout和stderr。您可以指定要连接到三个标准流(STDIN,STDOUT和STDERR)中的哪个,如下所示:

$ docker run -a stdin -a stdout -i -t ubuntu /bin/bash

对于交互式进程(如shell),必须一起使用-i -t才能为容器进程分配tty。
-i -t通常写为-it,您将在后面的示例中看到它。
当客户端从管道接收其标准输入时,禁止指定-t,如: