Docker-每个容器一个进程?

Docker-每个容器一个进程?,docker,Docker,我有时使用Docker进行开发工作。当我这样做的时候,我通常会在一个开箱即用的灯图像上工作 我的问题是:如果Docker在一个容器中运行多个进程,那么使用Docker的目的是否会失败?(就像Tutum的LAMP图像中开始的容器)Docker的整个想法不是将每个进程分离到一个单独的容器中吗?通常,在这种情况下,将一个容器用于多个进程是必要的或更有用的 这种情况发生在流程一起使用以完成其任务时。例如,我可以想象有人想使用ELK(Elasticsearch、Logstash、Kibana)将日志添加到

我有时使用Docker进行开发工作。当我这样做的时候,我通常会在一个开箱即用的灯图像上工作


我的问题是:如果Docker在一个容器中运行多个进程,那么使用Docker的目的是否会失败?(就像Tutum的LAMP图像中开始的容器)Docker的整个想法不是将每个进程分离到一个单独的容器中吗?

通常,在这种情况下,将一个容器用于多个进程是必要的或更有用的

这种情况发生在流程一起使用以完成其任务时。例如,我可以想象有人想使用ELK(Elasticsearch、Logstash、Kibana)将日志添加到web应用程序中的情况。这些东西一起运行,并且可以在一个容器中使用监控程序来监控流程

但在大多数情况下,最好是每个容器使用一个进程。更重要的是,docker命令应该启动进程本身,例如通过

/usr/bin/java-jar application.jar
除了运行外部脚本外:

/launchApplication.sh

请参阅有关问题所在的讨论。

虽然将流程分离到单独的容器中通常是一个很好的经验法则,但这并不是docker的主要优点/目的。docker的好处是不变性。如果将两个进程放到一个容器中有助于实现更清晰的逻辑,那么就去做吧。虽然在这种情况下,我肯定会考虑至少将DB剥离到它自己的容器中,并通过DOCKER链接与它进行对话。不必每次重建图像时都关闭数据库。

解决了这个问题。