Docker bridge konteyneridan host proksisiga ulanish
Konteynerdan yetib boriladigan proksi manzilini tanlang va ommaviy yakuniy nuqtani Docker hostidagi proksidan farqlang.
Oddiy bridge tarmoqli konteynerda 127.0.0.1 konteynerning o‘z loopback manzilidir. Noutbuk localhost’ida tinglayotgan proksi har bir konteyner ichida avtomatik tinglamaydi.
Bu keng uchraydigan farqni tushuntiradi: bir xil proksi URL host terminalida ishlaydi, ammo konteynerda ulanish rad etiladi. Manzil har bir joyda boshqa tarmoq yakuniy nuqtasini bildiradi.
Ommaviy proksidan bevosita foydalanish mumkin
Xizmat yoki HTTP proksilar ro‘yxatidan tanlangan nuqta chindan ham yetib boriladigan ommaviy IP bo‘lsa, uni localhost’ga o‘zgartirmay, shu manzilni ilovaga bering:
docker run --rm \
-e HTTP_PROXY=http://203.0.113.10:8080 \
-e HTTPS_PROXY=http://203.0.113.10:8080 \
your-image
Hujjatdagi namuna manzil va image’ni almashtiring. Image ichidagi dastur bu muhit o‘zgaruvchilarini baribir qo‘llashi kerak; Docker o‘zgaruvchilar borligi uchungina har bir soketni proksi orqali so‘rovga aylantirmaydi.
Proksi Docker hostida ishlayotgan bo‘lsa
Docker Desktop hostning ichki manziliga yetish uchun host.docker.internal beradi. Qo‘llab-quvvatlanadigan mahalliy Engine sozlamasida host xaritalashi shu odatiy nomni berishi mumkin:
docker run --rm \
--add-host host.docker.internal=host-gateway \
-e HTTP_PROXY=http://host.docker.internal:8080 \
-e HTTPS_PROXY=http://host.docker.internal:8080 \
your-image
Bu nom yechimini o‘zgartiradi; port yo‘naltirish buyrug‘i emas. Mahalliy Linux’da faqat host loopback manziliga bog‘langan xizmat hostning bridge manzili orqali hali ham yetib bo‘lmas bo‘lishi mumkin. Tinglovchi, xavfsizlik devori va konteyner yo‘nalishi ulanishga ruxsat berishi kerak. Tinglovchini o‘zgartirsangiz, autentifikatsiyasiz ochiq proksi yaratish o‘rniga uni kirishga muhtoj mijozlar bilan cheklang.
Ilova turgan joydan sinang
Hostdagi curl natijasi faqat host yo‘nalishini sinaydi. Tegishli so‘rovni konteyner muhitidan yuborib, ko‘zlangan nuqtaga yetishini tekshiring.
“Host” Docker Engine ishlayotgan mashinani ham bildiradi. Masofaviy Engine bo‘lsa, bu albatta noutbukingiz degani emas. Shu sabab mahalliy ish stoli ilovasidan ko‘chirilgan loopback IP’ning masofaviy builder yoki serverda o‘zgarmay ishlash ehtimoli ayniqsa kam.
Image yuklab olish muammolarini ajrating: ilova yuqoridagi muhitdan foydalana olishidan oldin daemon image’ni yuklab oladi.