让docker集装箱永远不会closures

我试图让一个docker容器永远不会closures。
如果我用-d标志运行docker容器,容器将在后台运行。

例如,可以这样做:

  1. -it标志启动docker容器
  2. 启动入口点应用程序
  3. 入口点应用程序创build10个其他服务/进程在同一个容器中运行
  4. 入口点应用程序终止

现在,入口处提到的应用程序已经退出,docker集装箱会熬过去吗?

你为什么不试试? AFAIU -d或-it不会影响容器终止。 我想你明白,开始这10个进程意味着你违反了docker每个容器一个进程的想法。 你为什么不开始10个容器呢? 你也可以从你的开始容器中做到这一点,即使起始容器会终止,他们仍然会继续运行。

您也可以尝试docker文档: https : //docs.docker.com/articles/host_integration/

-it标志表示您希望将标准input和输出路由到容器。 这基本上和概念上与永远运行不相容。

一般情况下,当入口点退出时,容器将会closures。 如果你想保持容器运行,你应该运行一个(可能是最后一个应用程序),而不是作为后台守护进程,但在前台。 例如,如果nginx是你想运行的最后一个服务。 你会做的最后一行入口点脚本(如果这是一个shell脚本)应该是这样的一些东西:

 nginx -g "daemon off;"