Зошто Testcontainers withEnv не го пренасочува преземањето слики низ прокси
Конфигурирајте го демонот на Docker за неуспешно преземање; прокси променливите на контејнерот стигнуваат до програмите дури откако ќе се создаде контејнерот.
Ако 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 на нивните предвидени рути кога додавате широко прокси стандардно.