在几个docker-compose中使用同一个docker服务的最好方法是什么?

在SOA应用程序中,我有几个微服务。 每个都有自己的git仓库和自己的docker-compose.yml一些服务,如elasticsearch和rabbitmq应该可以在所有docker-compose.yml中共享。 如何做到最好的方式? 当所有微服务运行时都没有问题,但是如果您不想同时使用所有微服务,则存在问题。

在多个撰写文件中定义的服务可以共享一个外部networking 。 您必须在您的主机或swarmpipe理器上定义networking,然后从其他撰写文件中引用该networking。 然后你可以通过servicename和端口访问服务,例如: http:// elasticsearch:5601 / somePath

networks: default: external: name: my-pre-existing-network 

然而,通常会为应用程序的所有微服务写一个组合文件,因为它是手动pipe理的(您可以使用一个命令删除/启动所有服务,不必pipe理networking等等)