如何在docker-compose中对容器进行分组?

我正在使用这个docker-compose.yml。 如果可能的话,我想做更简单的和inheritance的configuration。

version: '2' services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro web_one: container_name: "web_one" build: context: ./ dockerfile: web.docker volumes: - ./../one:/var/www environment: - VIRTUAL_HOST=whoami_one.local links: - app_one app_one: container_name: "app_one" build: context: ./ dockerfile: app.docker volumes: - ./../one:/var/www links: - db web_two: container_name: "web_two" build: context: ./ dockerfile: web.docker volumes: - ./../two:/var/www environment: - VIRTUAL_HOST=whoami_two.local links: - app_two app_two: container_name: "app_two" build: context: ./ dockerfile: app.docker volumes: - ./../two:/var/www links: - db 

我有15个相同configuration的站点。 我可以让configuration更简单吗? 喜欢这个:

 version: '2' services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro one: extends: file: common-services.yml volumes: - ./../one:/var/www environment: - VIRTUAL_HOST=whoami_one.local two: extends: file: common-services.yml volumes: - ./../two:/var/www environment: - VIRTUAL_HOST=whoami_two.local 

或更好?

谢谢!

另一种方法是创build依赖其他服务的无操作服务。 例如,在下面docker-compose.yml我有两个名称空间,开发应用程序时需要的服务的开发,以及与可视化应用程序度量有关的服务的度量(因为我没有兴趣在开发时感兴趣)。

 version: "3" services: dev: image: monroe/noop depends_on: ["postgres", "keycloak"] metrics: image: monroe/noop depends_on: ["grafana"] postgres: ... keycloak: ... grafana: ...