શા માટે 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 પોતાને સંદર્ભિત કરે છે.
પ્રથમ કિસ્સા માટે, Testcontainers ખરેખર જે Docker પર્યાવરણ વાપરે છે તે શોધો. દૂરસ્થ ડેમન અથવા Docker Desktop સ્થાનિક dockerd કરતાં અલગ સ્રોતમાંથી ગોઠવણી લઈ શકે છે. વ્યાપક પ્રોક્સી ડિફોલ્ટ ઉમેરતી વખતે સ્થાનિક ટેસ્ટ સેવાઓ અને Docker API તેમના ઇચ્છિત માર્ગો પર રાખો.