-i
标志被描述为“即使没有附加也保持 STDIN 打开”,但是 Docker run reference还说:
If you do not specify -a then Docker will attach all standard streams.
所以,默认情况下,stdin 是附加的,但没有打开?我认为附加STDIN但未打开时没有任何意义,对吧?
最佳答案
The exact code与该文档相关的是:
// If neither -d or -a are set, attach to everything by default
if len(flAttach) == 0 && !*flDetach {
if !*flDetach {
flAttach.Set("stdout")
flAttach.Set("stderr")
if *flStdin {
flAttach.Set("stdin")
}
}
}
与:
flStdin := cmd.Bool("i", false, "Keep stdin open even if not attached")
换句话说,如果设置了-i
,仅附加标准输入。
if *flStdin {
flAttach.Set("stdin")
}
从这个意义上说,“所有”标准流并不准确。
如下所述,该代码(由文档引用)has since changed to :
cmd.Var(&flAttach, []string{"a", "-attach"}, "Attach to STDIN, STDOUT or STDERR")
-a
不再是“附加所有流”,而是 "specify which streams you want attached" .
var (
attachStdin = flAttach.Get("stdin")
attachStdout = flAttach.Get("stdout")
attachStderr = flAttach.Get("stderr")
)
-i
remains a valid option :
if *flStdin {
attachStdin = true
}
关于docker - 对 docker 的 -i "Keep STDIN open even if not attached"感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36563630/
相关文章:
linux - nginx/apache重定向vps上docker容器上的输出端口
android - 如何使用保存实例状态保存 Activity 状态?
android - 当 Activity 在 Android 中启动时,如何阻止 EditText
android - 如何在 Android 的 ListView 中延迟加载图像
android - Eclipse Android 插件中的 "Debug certificate
android - 为什么安卓模拟器这么慢?我们如何加快Android模拟器的速度?
android - 如何在 TextView 中水平和垂直居中文本?
android - 如何以编程方式关闭/隐藏 Android 软键盘?