إذا فشل Testcontainers أثناء سحب صورة، فلا يمكن لإعدادات withEnv الخاصة بالحاوية المستقبلية أن تساعد. فعفريت Docker هو من ينفّذ ذلك التنزيل من السجل قبل أن توجد الحاوية.

العملية الفاشلةإعداد الوسيط الذي يجب فحصه
سحب الصورةعفريت Docker الذي تستخدمه التجربة ومسار السجل الخاص به
التنزيل داخل الحاوية العاملةالمدخلات التي يدعمها التطبيق داخل تلك الحاوية
اختبار Java يتصل بـ Docker أو بالتطبيقعميل Java الذي ينشئ ذلك الاتصال

في الحالة الثانية، أضف متغيرات البيئة إلى تعريف GenericContainer الموجود:

container
    .withEnv("http_proxy", "http://proxy.example:8080")
    .withEnv("https_proxy", "http://proxy.example:8080");

لتنزيل داخل الحاوية يُسمح له باستخدام نقطة نهاية HTTP عامة، املأ تلك القيم من قائمة وسطاء HTTP. يجب أن يقرأ البرنامج الموجود في الصورة تلك المتغيرات. وهي لا تحوّل مقبس قاعدة بيانات عشوائي إلى حركة مرور عبر وسيط HTTP. ويجب أيضًا أن تكون نقطة النهاية قابلة للوصول من الحاوية: فـ 127.0.0.1 الخاصة بها تشير إلى الحاوية نفسها.

في الحالة الأولى، ابحث عن بيئة Docker التي يستخدمها Testcontainers فعليًا. قد يأخذ عفريت بعيد أو Docker Desktop الإعداد من مصدر مختلف عن dockerd المحلي الأصلي. أبقِ خدمات الاختبار المحلية وواجهة Docker API على مساراتها المقصودة عند إضافة إعداد وسيط عام.

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