如何在我的docker-compose.yml文件中指定服务,该服务在docker hub中具有自己的docker-compose.yml文件?

时间:2018-09-14 05:21:28

标签: docker docker-compose

因此,我试图在本地docker环境中设置一些服务。在我的docker-compose.yml文件中定义的一项服务如下:

version: "3"

services:
  solr:
    image: solr:latest
    ports:
      - "8983:8983"
    container_name: solr

...非常简单。

但是,我还想设置另一个具有自己的docker-compose.yml的服务。如果我只是在Dockerfile中为此服务指定了FROM,它就不能按预期工作,因为存储库的docker-compose.yml也包括来自其他存储库的服务。

配置具有自己的docker-compose.yml文件的服务的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

在yml文件中使用 extend 来调用另一个docker-compose文件。在docker-compose.yml中定义任何服务时,您可以声明要扩展另一个服务,如下所示:

 web:
   extends:
     file: common-services.yml
     service: webapp

Ref:https://docs.docker.com/compose/extends/#understand-the-extends-configuration

注意:扩展选项已从docker-compose版本3中删除,并且仅在版本2中可用

Ref:https://docs.docker.com/compose/extends/#extending-services