是否可以在单个NGINX容器中托管多个Web应用程序容器?

时间:2020-06-05 00:47:35

标签: linux docker nginx

我是这个话题的新手,我将解释我想做什么。

              +-------+
    +---------+ NGINX +-----------+
    |         +-------+           |
    |                 |           |
+---+----+            |           |
|JENKINS |       +----+----+ +----+---+
+--------+       |FLASK APP| | VUE APP|
                 +---------+ +--------+

创建新服务器我决定组织并使用更好的工具来帮助每天做出更好的开发。我的想法是,这是使用Jenkins来帮助部署我的应用程序,上面我给出了 Flask(PYTHON) Vue(JS)的示例,但是我描绘几个应用。

NGINX是dockerize,正确的是什么? dockerize所有这些应用程序(FLASK,JENKINS,VUE)还是仅对WebServer?

我读过一次有可能使多个容器之间进行通信,但我不知道它是否适合该想法

1 个答案:

答案 0 :(得分:2)

可以将所需的内容放入容器中,但是您应该在其中只有一个进程。当我查看该图时,我看到了四个容器,可能还有一个Docker Compose或Kubernetes配置,可以按正确的顺序正确地旋转它们。

由于容器的工作方式,如果主进程失败,则运行状况检查将终止整个事情并重新启动。如果您的3/4的服务正常运行,那么这可能会造成极大的破坏。

它也使事情复杂化:

  • 构建容器,现在您的容器是所需容器的4倍,这使得启动,停止,拉动和推动速度变慢
  • 每次这些应用程序中的任何代码行更改时,都必须重新构建整个容器,这意味着您需要更频繁地构建
  • 使用统一的容器回滚部分内容是不可能的,除非您使用必要的特定版本重建容器

简而言之,不要这样做。有四个小容器。