您现在的位置是:热点 >>正文

云计算核心技术Docker教程:docker-compose扩展配置

热点8529862人已围观

简介...

Docker Compose的extends关键字允许在不同文件甚至整个项目之间共享通用配置。如果您有多个服务可以重用一组通用的配置选项,则扩展服务很有用。使用extends您可以在一个地方定义一组通用的服务选云计项,并可以从任何地方引用它。

请记住,volumes_from并且depends_on永远不会在使用的服务之间共享extends。这些异常的存在是为了避免隐式依赖性。您总是volumes_from在本地定义。这样算核可以确保在读取当前文件时,服务之间的依赖关系清晰可见。在本地定义这些文件还可以确保对引用文件的更改不会破坏任何内容。

在中定义任何服务时docker-compose.yml,您可以声明要扩展另一个服务,如下所示:

w心技eb:

      extends:

            file: common-services.yml

     术D;       service: webapp

这指示Compose重新使用webapp该common-services.yml文件中定义的服务的配置。假设common-services.yml 看起来oc像这样:

webapp:

      build: .

      ports:

          - "8000:8000"

&nbskep;     volumes:

          - "/data"

在这种情况下,您获得的结果与使用编写 docker-compose.yml的完全相同build,pr教orts并且volumes直接在之下定义了配置值web。

您可以在以下位置进一步定义本地配置(或重新定义) docker-compose.yml:

web:

      extends:

 程:;          file: common-services.yml

           service: webapp

&nbdosp;     environment:

         - DEBUG=1

      cpu_shares: 5

important_webck:

     extends: web

     cpu_shares: 10

您还可以编写其他服务并将您的web服务链接到它们:

web:

    &nbersp; extends:

         file: common-services.yml

         service: w-cebapp

     environment:

         - DEBUG=1

     cpu_shares: 5

&nbsomp;   depends_on:

       - db

db:

    image: postgres

Tags:

相关文章