ما أريد القيام به هو فصل تعديلات بيئتي المحددة إلى تجاوز. 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.
أدرك أنه يمكنني القيام بذلك إذا كانت جميع الخدمات تقدم نفس الخدمة الأساسية حيث يمكنني تطبيق التجاوز على ذلك ، ولكن هل هناك على أي حال لتعيين تجاوز عام / افتراضي بدون امتداد مشترك؟
في الوقت الحالي ، لديّ اختراق يتضمن فحصًا للتخطي تم إنشاؤه لأي خدمات محددة وإنشاء ملف التجاوز سريعًا ، ولكن يبدو أنه حالة استخدام لا يمكنني أن أكون أول شخص واجهته متسائلاً عما إذا كنت ربما لقد فاتتك للتو الحل الواضح لهذا في التأليف.
يمكن أن يكون لديك ملف base.yml
في كل مجلد مشروع مع خدمة base
تحتوي فقط على مفتاح environment
، ثم اجعل كل خدمة توسع خدمة base
.
لم يعد هذا حلاً جيدًا نظرًا لأنه تمت إزالة extends:
في 3.x https://github.com/moby/moby/issues/31101
saml تحقق من https://github.com/docker/compose/pull/5140
التعليق الأكثر فائدة
saml تحقق من https://github.com/docker/compose/pull/5140