Compose: تجاوز عام / افتراضي لجميع الخدمات

تم إنشاؤها على ١٩ أبريل ٢٠١٧  ·  3تعليقات  ·  مصدر: docker/compose

ما أريد القيام به هو فصل تعديلات بيئتي المحددة إلى تجاوز. iml ، لا شيء رائع هناك ... ومع ذلك ، فإن التجاوزات الخاصة بي ستكون هي نفسها تمامًا لكل خدمة تم نشرها وأريد تجنب الاضطرار إلى كتابة نفس الإلغاء لكل خدمة واحدة (وإضافة أقسام جديدة باستمرار إلى التجاوز مع تقديم خدمات جديدة).

بدلاً من ذلك ، أود إنشاء تعريف واحد يقول "تنطبق على هذا التجاوز على كل خدمة على حدة". هل يوجد مثل هذا المفهوم بالفعل وربما أكون مفقودًا؟

مثال ...

docker-compose.yml:

  aservice:
    image: whatever1
    environment:
      FOO: BAR

عامل ميناء آخر يؤلف. iml:

  anotherservice:
    image: whatever2

docker-compose.override.yml الخاص بي:

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

الآن ، سيكون لكل خدمة يتم نشرها خادم DNS 1 و server2 ومتغير البيئة FLIBBLE.

أدرك أنه يمكنني القيام بذلك إذا كانت جميع الخدمات تقدم نفس الخدمة الأساسية حيث يمكنني تطبيق التجاوز على ذلك ، ولكن هل هناك على أي حال لتعيين تجاوز عام / افتراضي بدون امتداد مشترك؟

في الوقت الحالي ، لديّ اختراق يتضمن فحصًا للتخطي تم إنشاؤه لأي خدمات محددة وإنشاء ملف التجاوز سريعًا ، ولكن يبدو أنه حالة استخدام لا يمكنني أن أكون أول شخص واجهته متسائلاً عما إذا كنت ربما لقد فاتتك للتو الحل الواضح لهذا في التأليف.

kinquestion

التعليق الأكثر فائدة

ال 3 كومينتر

يمكن أن يكون لديك ملف base.yml في كل مجلد مشروع مع خدمة base تحتوي فقط على مفتاح environment ، ثم اجعل كل خدمة توسع خدمة base .

لم يعد هذا حلاً جيدًا نظرًا لأنه تمت إزالة extends: في 3.x https://github.com/moby/moby/issues/31101

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات