אם 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 בנתיבים המיועדים להם כשאתם מוסיפים ברירת מחדל רחבה של פרוקסי.

מאמרים קשורים