Jika Testcontainers gagal saat menarik image, pengaturan withEnv kontainer yang akan datang tidak dapat membantu. Daemon Docker-lah yang melakukan pengunduhan dari registri itu sebelum kontainer ada.

Operasi yang gagalKonfigurasi proksi yang perlu diperiksa
Penarikan imageDaemon Docker yang dipakai pengujian dan rute registrinya
Pengunduhan di dalam kontainer yang berjalanInput yang didukung aplikasi di kontainer itu
Pengujian Java terhubung ke Docker atau aplikasiKlien Java yang membuat koneksi itu

Untuk kasus kedua, tambahkan variabel lingkungan ke definisi GenericContainer yang sudah ada:

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

Jika pengunduhan di dalam kontainer boleh memakai endpoint HTTP publik, isi nilai itu dari daftar proksi HTTP. Program di dalam image harus membaca variabel tersebut. Variabel itu tidak mengubah soket basis data sembarang menjadi lalu lintas proksi HTTP. Endpoint juga harus dapat dijangkau dari kontainer: 127.0.0.1-nya merujuk ke dirinya sendiri.

Untuk kasus pertama, temukan lingkungan Docker yang benar-benar dipakai Testcontainers. Daemon jarak jauh atau Docker Desktop dapat mengambil konfigurasi dari sumber yang berbeda dari dockerd lokal. Jaga layanan pengujian lokal dan API Docker pada rute yang dimaksudkan saat menambahkan proksi default yang luas.

Artikel terkait