Тарзи танзими прокси дар Docker (Контейнерҳо, Compose ва Build-ҳо)
Updated:
Ҳангоми ба кор андохтани скреперҳои серконтейнерӣ, воркерҳои автоматизатсия ё гиреҳҳои DePIN дар як сервери мизбон, интиқол додани тағйирёбандаҳои муҳити HTTP_PROXY ва HTTPS_PROXY ба ҳар як контейнер ба ҳар як хидмат имкон медиҳад, ки тавассути суроғаи статикии ҷудошудаи IPv4-и худ аз VinaProxy бе тағйир додани ҷадвали масири мошини асосӣ баромад кунад.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
Фаҳмидани 3 сатҳи танзими прокси дар Docker
Docker трафики иҷрои контейнер, трафики сохтани образ ва дархостҳои daemon-ро ба феҳристҳо ҷудо мекунад:
| Сатҳи Docker | Дар куҷо танзим мешавад | Чиро масир медиҳад |
|---|---|---|
| 1. Иҷрои контейнер (Container Runtime) | docker run -e HTTP_PROXY=... ё Compose environment: | Трафике, ки аз ҷониби барнома дар дохили ҳамон контейнери мушаххас тавлид мешавад |
2. Сохтани образ (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | Боргириҳои мудири бастаҳо (apt, pip, npm) ҳангоми сохтан |
3. Docker Daemon (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | Дархостҳои docker pull ва docker push ба феҳристҳо |
Таҷрибаҳои беҳтарини Docker Compose ва қоидаҳои NO_PROXY
- Ҳам тағйирёбандаҳои калон (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) ва ҳам хурдро (http_proxy,https_proxy,no_proxy) танзим кунед, то ҳамаи абзорҳои Linux CLI ва муҳитҳои иҷрои забонҳо онҳоро қабул кунанд - Ҳамеша номҳои хидматҳои дохилии Docker Compose-ро номбар кунед (масалан,
NO_PROXY=localhost,127.0.0.1,redis,postgres), то трафики байниконтейнерӣ дар шабакаи маҳаллии bridge бимонад - Ҳеҷ гоҳ паролҳои проксиро тавассути
ENVдар дохилиDockerfileба образҳои умумӣ ворид накунед — онҳоро ҳангоми иҷро тавассути.envёdocker-compose.ymlилова кунед
Қадам ба қадам
- 1
Проксии худро ба шакли http://user:pass@ip:port формат кунед
Сатри
ip:port:user:pass-и VinaProxy-ро бо истифода аз Табдилдиҳандаи формати прокси-и мо табдил диҳед. - 2
Тағйирёбандаҳои муҳитро ба docker-compose.yml илова кунед
Дар қисмати
environment:-и хидмати худ,HTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxyваNO_PROXY=localhost,127.0.0.1,redis,db-ро муайян кунед. - 3
Контейнерро оғоз кунед ё аз нав созед
Барои татбиқи тағйирёбандаҳои муҳит фармони
docker compose up -d-ро иҷро кунед. - 4
IP-и баромадро аз дохили контейнер санҷед
Фармони
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ip-ро иҷро кунед, то тасдиқ намоед, ки контейнер тавассути IP-и проксии шумо баромад мекунад.
Саволҳои зиёд такроршаванда
Чаро пас аз таъйини HTTP_PROXY контейнери ман ба контейнери Redis ё Postgres пайваст шуда наметавонад?
Бе NO_PROXY, муштарии HTTP-и шумо кӯшиш мекунад, ки ба номҳои хидматҳои дохилӣ ба мисли redis ё db тавассути проксии беруна пайваст шавад. Барои нодида гирифтани прокси барои хостҳои дохилии bridge, NO_PROXY=localhost,127.0.0.1,redis,db (ва шакли хурди no_proxy)-ро илова кунед.
Оё ман метавонам ба 20 контейнер дар як VPS 20 проксии гуногунро таъйин кунам?
Бале. Ҳар як хидмати контейнерро (ё тавассути интиқоли тағйирёбандаҳои алоҳидаи .env) бо сатри шахсии http://user:pass@ip:port муайян кунед.
Чаро ҳам тағйирёбандаҳои калон ва ҳам хурди прокси таъйин карда мешаванд?
Баъзе китобхонаҳои Linux (ба монанди libcurl) аввал http_proxy / https_proxy-и ҳарфҳои хурдро месанҷанд, дар ҳоле ки абзорҳои Go ва Node аксар вақт HTTP_PROXY / HTTPS_PROXY-и ҳарфҳои калонро месанҷанд.
Ба ҳар як контейнери Docker IP-ҳои статикии махсусро таъйин кунед
Проксиҳои фаврии номаҳдуди Dedicated IPv4 ва Static ISP дар 7 кишвар.
Харидани проксиҳои Docker