标志-i和-t在docker运行方面意味着什么?[duplicate]

fykwrbwg  于 2022-12-11  发布在  Docker
关注(0)|答案(1)|浏览(114)

此问题在此处已有答案

what is docker run -it flag?(2个答案)
四年前就关门了。
我对Docker和Unix/Linux世界都很陌生。我一直在使用Docker来构建我的映像和旋转一些容器,并且对容器化的概念有相当好的理解。但是,有时我确实看到一些人使用像这样的标志来旋转容器:
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
这到底是什么意思

wfveoks0

wfveoks01#

https://docs.docker.com/engine/reference/run/#foreground
-a=[]:附加到STDINSTDOUT和/或STDERR
-t:分配伪tty
--sig-proxy=真:将所有接收到的信号代理到进程(仅限非TTY模式)
-i:即使未连接STDIN,也保持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。

相关问题