Docker – 分离和交互?

在阅读不同的书籍,文章和论坛主题时,我经常看到以下Docker Run命令:

docker run -tid <dockerimage> 

我真的不明白:用tty (-t)启动分离的 (-d)Container 交互式 (-i)是否合理?

我的意思是一个独立的容器永远不会提示你到一个控制台,所以我不认为有必要用-it来调用它。

当只用-d选项运行一个映像时,容器将在命令执行后立即退出。 如果使用-itd选项运行,容器将被分离,但在后台运行,并且可以在需要时重新绑定。 请参阅附加的屏幕截图,以获得更清晰

在这里输入图像说明

我认为一般情况下,像这样启动一个独立的交互容器是一个不寻常的用例。 在我日常使用的docker工具中,这绝对不是我最终使用的东西。

当一些应用程序的stdout与一个tty vs关联时,它们的行为可能会有所不同(例如,当它们的输出是一个terminal时,它们可能只会默认login到标准输出,或者如果运行一个shell,它可能会在不关联时退出与一个terminal)。

您可能希望docker attach到正在运行的容器。 如果你开始使用某种分离的shell,这一点尤其重要。