我只是读此文章泊坞窗,它描述了如何dockerize一个简单的应用程序的文章.执行以下命令:
$ docker run -t -i ubuntu:14.04 /bin/bash,
Run Code Online (Sandbox Code Playgroud)
然后,给出以下解释:
在这里,我们再次指定了docker run命令并启动了一个ubuntu:14.04图像.但是我们也传递了两个标志:-t和-i.-t标志在我们的新容器中分配一个伪tty或终端,-i标志允许我们通过获取容器的标准(STDIN)来建立交互式连接.
我不明白其含义:
-i flag allows us to make an interactive connection by grabbing the standard in (STDIN)
Run Code Online (Sandbox Code Playgroud)
谢谢.
小智 13
Docker's -i/ --interactive允许您通过标准输入("STDIN")向容器发送命令,这意味着您可以"交互式"地将命令输入到由-t交换机创建的伪tty /终端.
我在这里解释说-i,--interactive即使没有附加,也保持 STDIN 打开,如果你想输入任何命令,你需要它。
这有助于管道:
$ echo hello | docker run -i busybox cat
hello
Run Code Online (Sandbox Code Playgroud)
含义:-i并不总是需要 -t ( tty),tty作为 text-terminal。
来自文档:
\n\n\n\n\n对于交互式进程(如 shell),必须
\n-i -t一起使用 \n 才能为容器进程分配tty 。-i -t通常\n 的写法-it如\xe2\x80\x99 将在后面的示例中看到的那样。-t当客户端从管道接收标准输入时,禁止指定,如下所示:
$ echo test | docker run -i busybox cat\nRun Code Online (Sandbox Code Playgroud)\n\n-t 标志是 Unix/Linux 处理终端访问的方式。从历史上看,终端是与真实硬件的硬线连接。
\n\n然而今天,使用了伪终端驱动程序。
\n\n-i标志运行,您会添加一个stdin (标准输入)流,它接受文本作为输入。-t不带运行-i,意味着您将拥有终端,但您的输入不会连接到终端输入。
| 归档时间: |
|
| 查看次数: |
2818 次 |
| 最近记录: |