-i和-t两个选项可谓是黄金搭档,两者必须一起用才能发挥最大价值。
-i(–interactive):以交互模式运行容器(通常与-t连用,将容器的 I/O 流绑定到伪终端,为容器创建一个交互式终端会话)
以下示例使用docker run运行boystar/ubantu系统,通过-i选项保持容器的标准输入(STDIN) 打开,标准输入向容器ubantu系统发送passwd命令为root用户设置密码。但我们知道,正常进入ubantu系统中,输入的密码是看不到的。这里显示出密码,说明只是打开了标准输入,没有真正进入到ubantu系统中。
假如不加-i,结果如下所示:
输入密码的操作无法进行。
-t(–tty):为容器重新分配一个伪输入终端(通常与-i连用,将容器的 I/O 流绑定到伪终端,为容器创建一个交互式终端会话)
我们先来看看直接使用-t选项是什么结果。
还是刚才的操作,修改root的密码。提示让我输入密码,我改成2345,回车后,没反应,ctrl+c,ctrl+d,ctrl+z,ctrl+\都不起作用了,我只能关闭终端,重新进了。
再来看看两者连用(-it)的效果。
这回,我们又可以输入密码了,密码输入时也不显示了。所以这一对黄金搭档(-it)以后要联合使用。
1 thought on “【Docker学习】docker run之黄金搭档-it选项”