我正在使用docker-compose部署一个多容器应用程序,该应用程序由一个postgresql数据库和一个运行访问数据库的应用程序的tomcat服务组成。
我最初的想法是尝试使用“ --scale”选项,但这只会复制tomcat容器。
我需要在他们自己的虚拟docker网络中将任何一对数据库和应用程序分开,然后才能复制整个应用程序环境。
有没有办法做到这一点?
谢谢
答案 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搜索,应该可以找到一些示例。