分享好友 资讯首页 频道列表

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

2020-12-31 18:004640

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

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

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

web:

      extends:

            file: common-services.yml

            service: webapp

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

webapp:

      build: .

      ports:

          - "8000:8000"

      volumes:

          - "/data"

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

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

web:

      extends:

           file: common-services.yml

           service: webapp

      environment:

         - DEBUG=1

      cpu_shares: 5

important_web:

     extends: web

     cpu_shares: 10

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

web:

      extends:

         file: common-services.yml

         service: webapp

     environment:

         - DEBUG=1

     cpu_shares: 5

    depends_on:

       - db

db:

    image: postgres

反对 0
举报 0
收藏 0
打赏 0
评论 0
AWS Amazon FSx for Lustre 支持 Elastic Fabric Adapter 和 Nvidia GPUDirect Storage
通过使用 AWS 可扩展可靠数据报 (SRD) 协议来提高网络吞吐量利用率,并在数据传输期间绕过操作系统,从而提高工作负载性能。

0评论2024-12-04787

金融服务业的混合多云采用率将增加两倍
金融服务业的混合多云采用率将增加两倍

0评论2024-07-06740