Testcontainers bir imajı çekerken başarısız olursa, oluşacak kapsayıcının withEnv ayarları yardımcı olamaz. O kayıt defteri indirmesini kapsayıcı var olmadan önce Docker daemon'ı yapar.

Başarısız işlemDenetlenecek proxy yapılandırması
İmaj çekimiTestin kullandığı Docker daemon'ı ve kayıt defterine giden yolu
Çalışan kapsayıcı içindeki indirmeUygulamanın o kapsayıcıda desteklediği girdiler
Java testi Docker'a veya uygulamaya bağlanırBu bağlantıyı kuran Java istemcisi

İkinci durum için mevcut GenericContainer tanımına ortam değişkenleri ekleyin:

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

Kapsayıcı içindeki bir indirimin herkese açık bir HTTP uç noktası kullanmasına izin veriliyorsa, bu değerleri HTTP proxy listesinden doldurun. İmajdaki program bu değişkenleri okumalıdır. Bunlar rastgele bir veritabanı soketini HTTP proxy trafiğine dönüştürmez. Uç nokta kapsayıcıdan da erişilebilir olmalıdır: 127.0.0.1 kendisine işaret eder.

İlk durum için Testcontainers'ın gerçekte kullandığı Docker ortamını bulun. Uzak bir daemon veya Docker Desktop yapılandırmayı yerel dockerd dışında bir kaynaktan alabilir. Geniş bir proxy varsayılanı eklerken yerel test hizmetlerini ve Docker API'sini amaçlanan yollarında tutun.

İlgili makaleler