Niyə Testcontainers withEnv obraz çəkilməsini proksidən keçirmir
Uğursuz çəkmə üçün Docker demonunu konfiqurasiya edin; konteynerin proksi dəyişənləri proqramlara yalnız konteyner yaradıldıqdan sonra çatır.
Əgər Testcontainers obraz çəkərkən uğursuz olursa, gələcək konteynerin withEnv parametrləri kömək edə bilməz. Həmin registr yükləməsini konteyner mövcud olmadan əvvəl Docker demonu yerinə yetirir.
| Uğursuz əməliyyat | Yoxlanmalı proksi konfiqurasiyası |
|---|---|
| Obraz çəkmə | Testin istifadə etdiyi Docker demonu və onun registr marşrutu |
| İşləyən konteyner daxilində yükləmə | Həmin konteynerdə tətbiqin dəstəklədiyi girişlər |
| Java testi Docker-ə və ya tətbiqə qoşulur | Həmin bağlantını quran Java müştərisi |
İkinci hal üçün mövcud GenericContainer təyinatına mühit dəyişənləri əlavə edin:
container
.withEnv("http_proxy", "http://proxy.example:8080")
.withEnv("https_proxy", "http://proxy.example:8080");Konteyner daxilindəki yükləmənin açıq HTTP son nöqtəsindən istifadə etməsinə icazə verilirsə, bu dəyərləri HTTP proksi siyahısından doldurun. Obrazdakı proqram həmin dəyişənləri oxumalıdır. Onlar ixtiyari verilənlər bazası soketini HTTP proksi trafikinə çevirmir. Son nöqtə də konteynerdən əlçatan olmalıdır: onun 127.0.0.1 özünə işarə edir.
Birinci hal üçün Testcontainers-in həqiqətən istifadə etdiyi Docker mühitini tapın. Uzaq demon və ya Docker Desktop konfiqurasiyanı yerli dockerd-dən fərqli mənbədən götürə bilər. Geniş proksi defoltu əlavə edərkən yerli test xidmətlərini və Docker API-ni nəzərdə tutulan marşrutlarda saxlayın.