Docker'da proksi sozlash (Konteynerlar, Compose va Build'lar)
Updated:
Yagona xost-serverda bir nechta konteynerli skraperlar, avtomatlashtirish vositalari yoki DePIN tugunlari ishlatilganda, har bir konteynerga HTTP_PROXY va HTTPS_PROXY muhit o'zgaruvchilarini uzatish xost-mashinaning yo'naltirish jadvalini o'zgartirmasdan, har bir xizmatga VinaProxy taqdim etgan alohida statik IPv4 manzili orqali chiqish imkonini beradi.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 ta IP40 000 ₫
- 5+ ta IP35 000 ₫
- 10+ ta IP25 000 ₫
- 20+ ta IP25 000 ₫
- 50+ ta IP25 000 ₫
- 100+ ta IP25 000 ₫
- 200+ ta IP25 000 ₫
- 500+ ta IP25 000 ₫
- 1000+ ta IP22 000 ₫
- 2000+ ta IP20 000 ₫
- 1 ta IP40 000 ₫
- 5+ ta IP35 000 ₫
- 10+ ta IP25 000 ₫
- 20+ ta IP25 000 ₫
- 50+ ta IP25 000 ₫
- 100+ ta IP25 000 ₫
- 200+ ta IP25 000 ₫
- 500+ ta IP25 000 ₫
- 1000+ ta IP22 000 ₫
- 2000+ ta IP20 000 ₫
Docker proksi konfiguratsiyasining 3 ta doirasini tushunish
Docker konteyner ish vaqtidagi trafik, imij yig'ish trafigi va demon reestri so'rovlarini bir-biridan ajratadi:
| Docker doirasi | Qayerda sozlanadi | Nimani yo'naltiradi |
|---|---|---|
| 1. Konteyner ish vaqti (Runtime) | docker run -e HTTP_PROXY=... yoki Compose environment: | Aynan shu konteyner ichidagi ilova tomonidan yaratilgan trafik |
2. Imij yig'ish (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | Yig'ish jarayonida paket menejerlari yuklamalari (apt, pip, npm) |
3. Docker demoni (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | Reestrlarga yuboriladigan docker pull va docker push so'rovlari |
Docker Compose bo'yicha eng yaxshi amaliyotlar va NO_PROXY qoidalari
- Barcha Linux CLI vositalari va dasturlash tili muhitlari qabul qilishi uchun o'zgaruvchilarni ham katta (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY), ham kichik harflar bilan (http_proxy,https_proxy,no_proxy) belgilang - Konteynerlararo trafik mahalliy bridge tarmog'ida qolishi uchun har doim ichki Docker Compose xizmat nomlarini kiriting (masalan,
NO_PROXY=localhost,127.0.0.1,redis,postgres) - Hech qachon
DockerfileichidagiENVorqali proksi parollarini ochiq imijlarga joylashtirmang — ularni ish vaqtida.envyokidocker-compose.ymlorqali uzating
Bosqichma-bosqich
- 1
Proksini http://user:pass@ip:port formatiga keltiring
VinaProxy taqdim etgan
ip:port:user:passqatorini bizning Proxy Format Converter vositamiz yordamida o'zgartiring. - 2
Muhit o'zgaruvchilarini docker-compose.yml fayliga qo'shing
Xizmatingizning
environment:bo'limi ostidaHTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxyvaNO_PROXY=localhost,127.0.0.1,redis,dbo'zgaruvchilarini aniqlang. - 3
Konteynerni ishga tushiring yoki qayta yarating
Muhit o'zgaruvchilarini qo'llash uchun
docker compose up -dbuyrug'ini ishga tushiring. - 4
Konteyner ichidan chiquvchi IP manzilni tekshiring
Konteyner sizning proksi IP manzilingiz orqali chiqayotganini tasdiqlash uchun
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ipbuyrug'ini bajaring.
Ko‘p so‘raladigan savollar
Nega HTTP_PROXY o'rnatilgandan so'ng konteynerim Redis yoki Postgres konteyneriga ulana olmayapti?
NO_PROXYsiz HTTP klienti redis yoki db kabi ichki xizmat nomlariga tashqi proksi orqali ulanishga harakat qiladi. Ichki bridge xostlari uchun proksini chetlab o'tish maqsadida NO_PROXY=localhost,127.0.0.1,redis,db (va kichik harflardagi no_proxy) ni qo'shing.
Bitta VPS'da 20 ta konteynerga 20 xil proksi biriktirsam bo'ladimi?
Ha. Har bir konteyner xizmatini (yoki alohida .env o'zgaruvchilarini uzatish orqali) o'zining http://user:pass@ip:port qatori bilan belgilang.
Nima uchun proksi o'zgaruvchilarini ham katta, ham kichik harflarda belgilash kerak?
Ba'zi Linux kutubxonalari (masalan, libcurl) avval kichik harflardagi http_proxy / https_proxy ni tekshiradi, Go va Node vositalari esa ko'pincha katta harflardagi HTTP_PROXY / HTTPS_PROXY ni tekshiradi.
Har bir Docker konteyneriga alohida statik IP biriktiring
7 ta mamlakat bo'ylab cheksiz trafikka ega tezkor Dedicated IPv4 va Static ISP proksilari.
Docker proksilarini sotib olish