在Docker容器中使用进程pipe理器有什么好处?

正如杰罗姆所说,

您还需要添加一个stream程pipe理器; 例如Monit或Supervisor。 这是因为Docker会监视一个进程。 如果你需要多个进程,你需要在顶层添加一个来照顾其他进程。 换句话说,你正在把一个精简而简单的容器变成更加复杂的东西。

我不清楚为什么你需要一个容器内的进程pipe理器。

那么有人可以向我解释一下,在一个容器内部有一个stream程pipe理器有什么好处? 让systemd或新贵来处理stream程,而不是为你的容器增加额外的服务不是更好吗?

这是整个想法,在容器内使用systemd(或upstart等)。 Docker大多数时候用来为每个容器运行一个服务,所以对于一个复杂的站点,你需要一个Web服务器的容器,另外一个用于数据库服务器。 有了进程pipe理器,你可以在同一个容器中运行。

哪种方法更好是基于意见的。 尽pipe从我看到在Docker中运行systemd不是件容易的事情,例如有bug #3629 – “在docker arch容器中运行systemd挂起或段错误”。 有关更多详细信息,请阅读“在Docker容器中运行systemd” 。