تمرير متغيّر بروكسي الخاص بـ Compose إلى حاوية
اجعل متغيّرات البروكسي جزءًا من بيئة خدمة Compose بدلًا من افتراض أن ملف .env الخاص بالمشروع يحقنها تلقائيًا.
يوفّر ملف .env الخاص بمشروع Compose قيم الاستبدال. لإعطاء إحدى هذه القيم لحاوية، أشِر إليها في إعدادات الخدمة.
على سبيل المثال، يحتوي .env على نقطة نهاية البروكسي:
HTTP_PROXY=http://203.0.113.10:8080
تستخدمه الخدمة لطلبات الوجهة عبر HTTP وHTTPS معًا:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
استبدل عنوان التوثيق والصورة؛ واختر نقطة نهاية HTTP متوافقة من خدمتك أو من قائمة بروكسيات HTTP. يمكن لبروكسي HTTP عادي نقل HTTPS عبر CONNECT إذا كان يدعم النفق المطلوب.
يُعدّ إدخال env_file الصريح طريقة أخرى لتمرير متغيّرات ملف مختار إلى خدمة. ولا يعمل ملف الاستبدال الخاص بالمشروع كـ env_file ضمني للحاوية.
التحقق مما وصل إلى التطبيق
يُظهر docker compose config إعدادات الخدمة المحلولة. أما docker compose config --environment فيُظهر القيم المستخدمة للاستبدال بدلًا من ذلك.
قارن بيئة الخدمة بعملية التطبيق. لا تتلقى حاوية موجودة قيمًا جديدة عند تحرير .env؛ طبّق التغيير عبر دورة حياة Compose المقصودة، مع السماح بانقطاع الخدمة.
إذا كان المتغيّر غائبًا، فأصلح إعدادات الخدمة. وإذا كان موجودًا لكن الطلبات تبقى مباشرة، فتحقّق من دعم عميل HTTP للبروكسي. حقن البيئة يوفّر الإعدادات؛ ويجب أن يستخدمها التطبيق.