Docker-Compose-如何扩展多容器应用程序?

时间:2019-12-03 14:51:53

标签: docker docker-compose

我正在使用docker-compose部署一个多容器应用程序,该应用程序由一个postgresql数据库和一个运行访问数据库的应用程序的tomcat服务组成。

我最初的想法是尝试使用“ --scale”选项,但这只会复制tomcat容器。

我需要在他们自己的虚拟docker网络中将任何一对数据库和应用程序分开,然后才能复制整个应用程序环境。

有没有办法做到这一点?

谢谢

2 个答案:

答案 0 :(得分:0)

您在此处混用术语。

规模是为了增加部署的容量,即增加在这种部署上运行的容器的副本数。

但是,您不是根据I need to have any pair of database and app separated in their own virtual docker network and be able to duplicate this whole app environment then.

查找的

在您的情况下,只需重新启动组合即可,要么更改名称(-p),要么从另一个目录重用同一文件(-f)。这样,您将拥有两个不同的环境。

答案 1 :(得分:0)

Docker设计用于容器(容器是映像的实例)。 docker-compose更像是开发时的东西,它允许您使用描述的网络等在一个文件中管理多个容器。

现在,在生产环境中使用

代替docker-compose,您将使用kubernetes(docker容器管理器和归档器等)。 Kubernetes具有自动缩放功能。但是,它再次自动缩放容器(在kubernetes中称为pods)。这些Pod通过服务与其他Pod通信。同时,name可以在同一类型的一堆豆荚前面访问服务

据我所知,没有内置的方法可以通过网络分离来扩展对。

但是人们在做不同的事情,例如 Sidecar容器(另一个对第一个容器起作用的容器)。如果您使用Google搜索,应该可以找到一些示例。