Hoe om 'n proxy in Docker op te stel (houers, Compose & bouprosesse)
Updated:
Wanneer jy multi-houer-skrapers, outomatiseringswerkers of DePIN-nodusse op 'n enkele gasheembediener laat loop, stel die oordrag van HTTP_PROXY- en HTTPS_PROXY-omgewingsveranderlikes per houer elke diens in staat om deur sy eie toegewyde statiese IPv4-adres van VinaProxy uit te gaan sonder om die gasheermasjien se roeteringstabel te verander.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP₫40 000
- 5+ IP's₫35 000
- 10+ IP's₫25 000
- 20+ IP's₫25 000
- 50+ IP's₫25 000
- 100+ IP's₫25 000
- 200+ IP's₫25 000
- 500+ IP's₫25 000
- 1000+ IP's₫22 000
- 2000+ IP's₫20 000
- 1 IP₫40 000
- 5+ IP's₫35 000
- 10+ IP's₫25 000
- 20+ IP's₫25 000
- 50+ IP's₫25 000
- 100+ IP's₫25 000
- 200+ IP's₫25 000
- 500+ IP's₫25 000
- 1000+ IP's₫22 000
- 2000+ IP's₫20 000
Verstaan die 3 konfigurasie-omvange vir Docker-proxies
Docker skei houer-looptydverkeer, beeldbouverkeer en daemon-registertrekkings:
| Docker-omvang | Waar om op te stel | Wat dit roeteer |
|---|---|---|
| 1. Houer-looptyd | docker run -e HTTP_PROXY=... of Compose environment: | Verkeer wat deur die toepassing binne daardie spesifieke houer gegenereer word |
2. Beeldbou (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | Pakketbestuurder-aflaaie (apt, pip, npm) tydens die bouproses |
3. Docker Daemon (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | docker pull- en docker push-versoeke na registers |
Docker Compose se beste praktyke en NO_PROXY-reëls
- Stel beide hoofletters (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) en kleinletters (http_proxy,https_proxy,no_proxy) in sodat alle Linux CLI-nutsgoed en programmeertaal-looptye dit optel - Lys altyd interne Docker Compose-diensname (bv.
NO_PROXY=localhost,127.0.0.1,redis,postgres) sodat verkeer tussen houers op die plaaslike brugnetwerk bly - Moet nooit proxy-wagwoorde met
ENVbinne 'nDockerfilein publieke beelde inbak nie—voeg hulle tydens looptyd via.envofdocker-compose.ymlin
Stap vir stap
- 1
Formateer jou proxy as http://user:pass@ip:port
Skakel jou VinaProxy-reël
ip:port:user:passom met ons Proxy-formaatomskakelaar. - 2
Voeg omgewingsveranderlikes by docker-compose.yml
Definieer onder jou diens se
environment:die veranderlikesHTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxyenNO_PROXY=localhost,127.0.0.1,redis,db. - 3
Begin of herskep die houer
Voer
docker compose up -duit om die omgewingsveranderlikes toe te pas. - 4
Verifieer die uitgangs-IP van binne die houer
Voer
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ipuit om te bevestig dat die houer deur jou proxy-IP uitgaan.
Gereelde vrae
Waarom kan my houer nie my Redis- of Postgres-houer bereik nadat HTTP_PROXY ingestel is nie?
Sonder NO_PROXY probeer jou HTTP-kliënt om interne diensname soos redis of db deur die eksterne proxy te bereik. Voeg NO_PROXY=localhost,127.0.0.1,redis,db (en kleinletter no_proxy) by om die proxy vir interne bruggashere te omseil.
Kan ek 20 verskillende proxies aan 20 houers op een VPS toewys?
Ja. Definieer elke houerdiens (of gee afsonderlike .env-veranderlikes deur) met sy eie http://user:pass@ip:port-string.
Waarom moet beide hoof- en kleinletter-proxyveranderlikes ingestel word?
Sommige Linux-biblioteke (soos libcurl) kontroleer eers kleinletters http_proxy / https_proxy, terwyl Go- en Node-nutsgoed dikwels hoofletters HTTP_PROXY / HTTPS_PROXY nagaan.
Wys toegewyde statiese IP's aan elke Docker-houer toe
Onmiddellike ongelimiteerde Toegewyde IPv4- en Statiese ISP-proxies oor 7 lande.
Koop Docker-proxies