لتنزيل الحزم أثناء البناء، استخدم مدخلات وكيل البناء المحددة مسبقًا في Docker بدلًا من حفظ مسار مؤقت في ENV في Dockerfile. يمكن لاستدعاء POSIX توفير:

HTTP_PROXY=http://203.0.113.10:8080 \
HTTPS_PROXY=http://203.0.113.10:8080 \
docker build --build-arg HTTP_PROXY --build-arg HTTPS_PROXY .

استبدل نقطة النهاية في الوثائق. عند حذف القيم بعد أسماء --build-arg، تُؤخذ من بيئة هذا الاستدعاء. لا تتطلب هذه المدخلات المحددة مسبقًا إعلانات ARG المطابقة.

يستبعد Docker افتراضيًا حجج الوكيل هذه من معالجة ذاكرة التخزين المؤقت للبناء ومن docker history. يؤدي الرجوع إليها صراحةً في Dockerfile إلى تغيير هذا السلوك، لذا لا تضف إعلانات لمجرد أن مثالًا آخر لحجة بناء يفعل ذلك.

لا تزال العملية تتلقى القيم. قد تتسرب URL موثقة عبر البيئة المطبوعة أو السجلات أو الإعداد المنسوخ أو عمليات الصور اللاحقة، حتى لو أخفتها إحدى طرق عرض السجل. يجعل ENV في Dockerfile المسار جزءًا من البيئة النهائية للصورة، وقد يحول وكيلًا مخصصًا للبناء إلى اعتماد لكل حاوية.

عندما يحتاج أمر إلى مادة حساسة، توفر secret mounts في BuildKit واجهة سر أثناء البناء. احصر بيانات الاعتماد في تلك العملية؛ لا تطبع mount ولا تنسخ محتواه إلى طبقة صورة.

لا تهيئ مدخلات البناء هذه لا سحب السجل السابق الذي نفذه daemon ولا مسار مضيف builder بعيد لا يمكن الوصول إليه. بعد ذلك افحص الصورة النهائية المقصودة وإعداد التطبيق بحثًا عن قيم وكيل دائمة.

مقالات ذات صلة