Paano mag-set up ng proxy sa Docker (Containers, Compose, at Builds)
Updated:
Kapag nagpapatakbo ng multi-container scrapers, automation workers, o DePIN nodes sa iisang host server, ang pagpasa ng mga environment variable na HTTP_PROXY at HTTPS_PROXY bawat container ay nagbibigay-daan sa bawat service na lumabas gamit ang sarili nitong nakalaang static IPv4 address mula sa VinaProxy nang hindi binabago ang routing table ng host machine.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP₫40,000
- 5+ na IP₫35,000
- 10+ na IP₫25,000
- 20+ na IP₫25,000
- 50+ na IP₫25,000
- 100+ na IP₫25,000
- 200+ na IP₫25,000
- 500+ na IP₫25,000
- 1000+ na IP₫22,000
- 2000+ na IP₫20,000
- 1 IP₫40,000
- 5+ na IP₫35,000
- 10+ na IP₫25,000
- 20+ na IP₫25,000
- 50+ na IP₫25,000
- 100+ na IP₫25,000
- 200+ na IP₫25,000
- 500+ na IP₫25,000
- 1000+ na IP₫22,000
- 2000+ na IP₫20,000
Pag-unawa sa 3 configuration scope ng Docker proxy
Inihihiwalay ng Docker ang container runtime traffic, image build traffic, at daemon registry pulls:
| Docker Scope | Saan I-configure | Ano ang Niroruta Nito |
|---|---|---|
| 1. Container Runtime | docker run -e HTTP_PROXY=... o Compose environment: | Trapikong nabubuo ng app sa loob ng partikular na container na iyon |
2. Image Build (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | Mga download ng package manager (apt, pip, npm) habang nagbi-build |
3. Docker Daemon (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | Mga request ng docker pull at docker push sa mga registry |
Mga best practice sa Docker Compose at mga panuntunan sa NO_PROXY
- I-set ang parehong uppercase (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) at lowercase (http_proxy,https_proxy,no_proxy) na mga variable upang mabasa ang mga ito ng lahat ng Linux CLI tool at language runtime - Palaging ilista ang mga internal na pangalan ng service sa Docker Compose (hal.,
NO_PROXY=localhost,127.0.0.1,redis,postgres) upang manatili ang trapiko sa pagitan ng mga container sa lokal na bridge network - Huwag kailanman i-bake ang mga password ng proxy sa mga pampublikong image gamit ang
ENVsa loob ngDockerfile—i-inject ang mga ito sa runtime sa pamamagitan ng.envodocker-compose.yml
Sunod-sunod na hakbang
- 1
I-format ang iyong proxy bilang http://user:pass@ip:port
I-convert ang linya ng iyong VinaProxy
ip:port:user:passgamit ang aming Proxy Format Converter. - 2
Magdagdag ng mga environment variable sa docker-compose.yml
Sa ilalim ng
environment:ng iyong service, tukuyin angHTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxy, atNO_PROXY=localhost,127.0.0.1,redis,db. - 3
Simulan o muling likhain ang container
Patakbuhin ang
docker compose up -dupang ilapat ang mga environment variable. - 4
I-verify ang exit IP mula sa loob ng container
Ipatupad ang
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ipupang makumpirma na lumalabas ang container sa pamamagitan ng iyong proxy IP.
Mga madalas itanong
Bakit hindi maabot ng aking container ang aking Redis o Postgres container pagkatapos i-set ang HTTP_PROXY?
Kung walang NO_PROXY, susubukan ng iyong HTTP client na abutin ang mga internal na pangalan ng service tulad ng redis o db sa pamamagitan ng external na proxy. Magdagdag ng NO_PROXY=localhost,127.0.0.1,redis,db (at lowercase na no_proxy) upang i-bypass ang proxy para sa mga internal bridge host.
Maaari ba akong magtalaga ng 20 magkakaibang proxy sa 20 container sa iisang VPS?
Oo. Tukuyin ang bawat container service (o magpasa ng magkakahiwalay na .env variable) gamit ang sarili nitong http://user:pass@ip:port string.
Bakit kailangang i-set ang parehong uppercase at lowercase na proxy variable?
Ang ilang Linux library (tulad ng libcurl) ay unang sumusuri sa lowercase na http_proxy / https_proxy, habang ang mga Go at Node tool ay kadalasang sumusuri sa uppercase na HTTP_PROXY / HTTPS_PROXY.
Magtalaga ng mga nakalaang static IP sa bawat Docker container
Agad-agad at walang limitasyong Dedicated IPv4 at Static ISP proxy sa 7 bansa.
Bumili ng mga Docker Proxy