Kuidas seadistada proksit Dockeris (konteinerid, Compose ja ehitamine)
Updated:
Kui käitate ühes hostserveris mitme konteineriga andmekorjeid, automaatikatöötajaid või DePIN-sõlmi, võimaldab keskkonnamuutujate HTTP_PROXY ja HTTPS_PROXY edastamine konteineripõhiselt igal teenusel väljuda omaette spetsiaalse staatilise VinaProxy IPv4-aadressi kaudu, ilma hostmasina marsruutimistabelit muutmata.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP40 000 ₫
- 5+ IP-d35 000 ₫
- 10+ IP-d25 000 ₫
- 20+ IP-d25 000 ₫
- 50+ IP-d25 000 ₫
- 100+ IP-d25 000 ₫
- 200+ IP-d25 000 ₫
- 500+ IP-d25 000 ₫
- 1000+ IP-d22 000 ₫
- 2000+ IP-d20 000 ₫
- 1 IP40 000 ₫
- 5+ IP-d35 000 ₫
- 10+ IP-d25 000 ₫
- 20+ IP-d25 000 ₫
- 50+ IP-d25 000 ₫
- 100+ IP-d25 000 ₫
- 200+ IP-d25 000 ₫
- 500+ IP-d25 000 ₫
- 1000+ IP-d22 000 ₫
- 2000+ IP-d20 000 ₫
Dockeri kolme proksikonfiguratsiooni ulatuse mõistmine
Docker eristab konteineri käitusaja liiklust, tõmmise ehitusaegset liiklust ja deemoni registritõmbeid:
| Dockeri ulatus | Kus seadistada | Mida see suunab |
|---|---|---|
| 1. Konteineri käitusaeg | docker run -e HTTP_PROXY=... või Compose'i environment: | Selle konkreetse konteineri sees oleva rakenduse tekitatud liiklus |
2. Tõmmise ehitamine (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | Paketihalduri allalaadimised (apt, pip, npm) ehitamise ajal |
3. Dockeri deemon (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | docker pull ja docker push päringud registritesse |
Docker Compose'i parimad tavad ja NO_PROXY reeglid
- Määrake muutujad nii suurtähtedes (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) kui ka väiketähtedes (http_proxy,https_proxy,no_proxy), et kõik Linuxi CLI-tööriistad ja programmeerimiskeelte käituskeskkonnad need tuvastaksid - Märkige alati Docker Compose'i sisesed teenusenimed (nt
NO_PROXY=localhost,127.0.0.1,redis,postgres), et konteineritevaheline liiklus jääks kohalikku sildvõrku - Ärge kunagi kirjutage proksi paroole avalikesse tõmmistesse
ENVkäsuga failisDockerfile– sisestage need käitusajal faili.envvõidocker-compose.ymlkaudu
Samm-sammult
- 1
Vormindage oma proksi kujule http://user:pass@ip:port
Teisendage oma VinaProxy rida
ip:port:user:pass, kasutades meie tööriista Proxy Format Converter. - 2
Lisage keskkonnamuutujad faili docker-compose.yml
Määratlege oma teenuse jaotises
environment:muutujadHTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxyjaNO_PROXY=localhost,127.0.0.1,redis,db. - 3
Käivitage või taaslooge konteiner
Keskkonnamuutujate rakendamiseks käivitage
docker compose up -d. - 4
Kontrollige väljuvat IP-d konteineri seest
Käivitage
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ip, et veenduda konteineri väljumises teie proksi IP kaudu.
Korduma kippuvad küsimused
Miks mu konteiner ei saa pärast HTTP_PROXY määramist ühendust Redise või Postgrese konteineriga?
Ilma muutujata NO_PROXY üritab teie HTTP-klient luua ühendust sisemiste teenusenimedega nagu redis või db läbi välise proksi. Lisage NO_PROXY=localhost,127.0.0.1,redis,db (ja väiketähtedes no_proxy), et suunata sisemised sildvõrgu hostid proksist mööda.
Kas saan ühes VPS-is määrata 20 konteinerile 20 erinevat proksit?
Jah. Seadistage iga konteinerteenus (või edastage eraldi .env muutujad) oma unikaalse http://user:pass@ip:port stringiga.
Miks määrata proksimuutujad nii suur- kui ka väiketähtedega?
Mõned Linuxi teegid (nagu libcurl) kontrollivad esmalt väiketähtedega http_proxy / https_proxy, samas kui Go ja Node'i tööriistad kontrollivad sageli suurtähtedega HTTP_PROXY / HTTPS_PROXY.
Määrake igale Dockeri konteinerile spetsiaalne staatiline IP
Kohesed piiranguteta Dedicated IPv4 ja Static ISP proksid 7 riigis.
Osta Dockeri proksisid