Compose: Anulación global / predeterminada para todos los servicios

Creado en 19 abr. 2017  ·  3Comentarios  ·  Fuente: docker/compose

Lo que quiero hacer es separar los ajustes específicos de mi entorno en un override.yml, nada lujoso allí ... sin embargo, mis reemplazos serán exactamente los mismos para cada servicio implementado y quiero evitar tener que escribir el mismo reemplazo para cada servicio único (y agregue continuamente nuevas secciones a la anulación a medida que se introducen nuevos servicios).

En su lugar, me gustaría crear una definición que diga "aplicar a esta anulación a todos los servicios". ¿Existe ya tal concepto que quizás me esté perdiendo?

Ejemplo ...

docker-compose.yml:

  aservice:
    image: whatever1
    environment:
      FOO: BAR

otro docker-compose.yml:

  anotherservice:
    image: whatever2

mi docker-compose.override.yml:

  <magickeyword>:
    environment:
      FLIBBLE: flobble
    dns:
      - server1
      - server2

Ahora, cada servicio implementado tendría DNS server1 & server2 y la variable de entorno FLIBBLE.

Me doy cuenta de que podría hacer esto si todos los servicios extendieran el mismo servicio base, ya que podría aplicar la anulación a eso, pero ¿hay alguna forma de establecer la anulación global / predeterminada sin una extensión común?

En este momento, tengo un truco que implica un análisis de anulación generado para cualquier servicio definido y genera el archivo de anulación sobre la marcha, pero parece un caso de uso en el que no puedo ser la primera persona en encontrarme, así que me pregunto si Acabo de perder la solución obvia a esto en componer.

kinquestion

Comentario más útil

Todos 3 comentarios

Puede tener un archivo base.yml en cada carpeta de proyecto con un servicio base que contenga solo su clave environment , y luego hacer que cada servicio extienda el servicio base .

Esta ya no es una buena solución dado que extends: se elimina en 3.x https://github.com/moby/moby/issues/31101

¿Fue útil esta página
0 / 5 - 0 calificaciones