Jinsi ya kusanidi proxy katika Docker (Kontena, Compose na Miundo)
Updated:
Unapoendesha zana za ukusanyaji data zenye kontena nyingi, vibarua vya kiotomatiki, au nodi za DePIN kwenye seva moja mwenyeji, kupitisha vigezo vya mazingira vya HTTP_PROXY na HTTPS_PROXY kwa kila kontena huwezesha kila huduma kutoka kupitia anwani yake binafsi ya IPv4 tuli kutoka VinaProxy bila kubadilisha jedwali la njia la mashine mwenyeji.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- IP 1₫ 40,000
- IP 5+₫ 35,000
- IP 10+₫ 25,000
- IP 20+₫ 25,000
- IP 50+₫ 25,000
- IP 100+₫ 25,000
- IP 200+₫ 25,000
- IP 500+₫ 25,000
- IP 1000+₫ 22,000
- IP 2000+₫ 20,000
- IP 1₫ 40,000
- IP 5+₫ 35,000
- IP 10+₫ 25,000
- IP 20+₫ 25,000
- IP 50+₫ 25,000
- IP 100+₫ 25,000
- IP 200+₫ 25,000
- IP 500+₫ 25,000
- IP 1000+₫ 22,000
- IP 2000+₫ 20,000
Kuelewa viwango 3 vya usanidi wa proxy katika Docker
Docker hutenganisha trafiki ya uendeshaji wa kontena, trafiki ya ujenzi wa picha, na uvutaji wa sajili wa daemon:
| Wigo wa Docker | Mahali pa Kusanidi | Kile Inachoelekeza |
|---|---|---|
| 1. Uendeshaji wa Kontena | docker run -e HTTP_PROXY=... au environment: ya Compose | Trafiki inayozalishwa na programu ndani ya kontena hilo mahususi |
2. Ujenzi wa Picha (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | Upakuaji wa kidhibiti vifurushi (apt, pip, npm) wakati wa kujenga |
3. Daemon ya Docker (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | Maombi ya docker pull na docker push kwenda kwenye sajili |
Mbinu bora za Docker Compose na sheria za NO_PROXY
- Weka vigezo vyote viwili vya herufi kubwa (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) na herufi ndogo (http_proxy,https_proxy,no_proxy) ili zana zote za CLI za Linux na mazingira ya lugha ya programu ziweze kuvitambua - Daima orodhesha majina ya huduma za ndani za Docker Compose (mfano,
NO_PROXY=localhost,127.0.0.1,redis,postgres) ili trafiki ya kati ya kontena ibaki kwenye mtandao wa ndani wa daraja - Kamwe usiweke manenosiri ya proxy ndani ya picha za umma kwa kutumia
ENVndani yaDockerfile—yaingize wakati wa kuendesha kupitia.envaudocker-compose.yml
Hatua kwa hatua
- 1
Umbiza proxy yako kama http://user:pass@ip:port
Badilisha mstari wako wa VinaProxy
ip:port:user:passkwa kutumia Kigeuzi cha Umbizo la Proxy. - 2
Ongeza vigezo vya mazingira kwenye docker-compose.yml
Chini ya
environment:ya huduma yako, bainishaHTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxy, naNO_PROXY=localhost,127.0.0.1,redis,db. - 3
Anzisha au uunde upya kontena
Endesha
docker compose up -dili kutumia vigezo hivyo vya mazingira. - 4
Thibitisha IP ya kutokea kutoka ndani ya kontena
Tekeleza
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ipili kuthibitisha kuwa kontena linatokea kupitia IP ya proxy yako.
Maswali yanayoulizwa mara kwa mara
Kwa nini kontena langu haliwezi kufikia kontena langu la Redis au Postgres baada ya kuweka HTTP_PROXY?
Bila NO_PROXY, mteja wako wa HTTP hujaribu kufikia majina ya huduma za ndani kama redis au db kupitia proxy ya nje. Ongeza NO_PROXY=localhost,127.0.0.1,redis,db (na herufi ndogo no_proxy) ili kuruka proxy kwa seva mwenyeji za ndani za mtandao wa daraja.
Je, ninaweza kugawa proxy 20 tofauti kwa kontena 20 kwenye VPS moja?
Ndiyo. Bainisha kila huduma ya kontena (au pitisha vigezo tofauti vya .env) ikiwa na mfuatano wake wa http://user:pass@ip:port.
Kwa nini uweke vigezo vya proxy vya herufi kubwa na herufi ndogo?
Baadhi ya maktaba za Linux (kama libcurl) huangalia kwanza herufi ndogo http_proxy / https_proxy, ilhali zana za Go na Node mara nyingi huangalia herufi kubwa HTTP_PROXY / HTTPS_PROXY.
Gawa anwani maalum za IP tuli kwa kila kontena la Docker
Proxy za IPv4 Maalum na ISP Tuli zisizo na kikomo papo hapo katika nchi 7.
Nunua Proxy za Docker