Docker дээр прокси хэрхэн тохируулах вэ (Контейнер, Compose ба Build)
Updated:
Нэг хост сервер дээр олон контейнертэй скрапер, автоматжуулалтын воркер эсвэл DePIN сүлжээний зангилаа ажиллуулах үед контейнер бүрд HTTP_PROXY болон HTTPS_PROXY орчны хувьсагчдыг дамжуулснаар хост машины чиглүүлэлтийн хүснэгтийг өөрчлөхгүйгээр үйлчилгээ бүрийг VinaProxy-ийн зориулалтын статик IPv4 хаягаар гаргах боломжтой.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP₫ 40,000
- 5+ IP₫ 35,000
- 10+ IP₫ 25,000
- 20+ IP₫ 25,000
- 50+ IP₫ 25,000
- 100+ IP₫ 25,000
- 200+ IP₫ 25,000
- 500+ IP₫ 25,000
- 1000+ IP₫ 22,000
- 2000+ IP₫ 20,000
- 1 IP₫ 40,000
- 5+ IP₫ 35,000
- 10+ IP₫ 25,000
- 20+ IP₫ 25,000
- 50+ IP₫ 25,000
- 100+ IP₫ 25,000
- 200+ IP₫ 25,000
- 500+ IP₫ 25,000
- 1000+ IP₫ 22,000
- 2000+ IP₫ 20,000
Docker прокси тохиргооны 3 түвшинг ойлгох нь
Docker нь контейнерийн ажиллах үеийн урсгал, имиж бүтээх үеийн урсгал болон деамоны бүртгэлээс татах урсгалыг тусад нь ялгадаг:
| Docker-ийн түвшин | Хаана тохируулах | Юуг чиглүүлдэг |
|---|---|---|
| 1. Контейнерийн ажиллах үе (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 деамон (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | Регистри рүү илгээх docker pull болон docker push хүсэлтүүд |
Docker Compose-ийн шилдэг туршлага ба NO_PROXY дүрмүүд
- Бүх Linux CLI хэрэгслүүд болон програмчлалын хэлний орчнуудад таниулахын тулд том (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) болон жижиг (http_proxy,https_proxy,no_proxy) үсгээр бичсэн хоёр хувьсагчийг хоёуланг нь тохируулна уу - Контейнер хоорондын урсгалыг дотоод bridge сүлжээнд хадгалахын тулд Docker Compose-ийн дотоод үйлчилгээний нэрсийг үргэлж жагсаана уу (жишээ нь,
NO_PROXY=localhost,127.0.0.1,redis,postgres) DockerfileдоторENVашиглан проксигийн нууц үгийг нийтийн имиж дотор хэзээ ч бүү хатуу бичээрэй — тэдгээрийг ажиллах үед нь.envэсвэлdocker-compose.yml-ээр дамжуулан оруулна уу
Алхам алхмаар
- 1
Проксигоо http://user:pass@ip:port хэлбэрт оруулах
Манай Proxy Format Converter-ийг ашиглан VinaProxy-ийн
ip:port:user:passмөрөө хөрвүүлнэ үү. - 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-г шалгах
Контейнер таны прокси IP-ээр гарч байгаа эсэхийг баталгаажуулахын тулд
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ipкомандыг ажиллуулна уу.
Түгээмэл асуултууд
HTTP_PROXY тохируулсны дараа миний контейнер яагаад Redis эсвэл Postgres контейнерт холбогдож чадахгүй байна вэ?
NO_PROXY-гүй бол таны HTTP клиент redis эсвэл db зэрэг дотоод үйлчилгээний нэрс рүү гадаад проксигоор дамжин холбогдохыг оролддог. Дотоод bridge сүлжээний хостуудад проксиг тойрч гарахын тулд NO_PROXY=localhost,127.0.0.1,redis,db (болон жижиг үсгээр no_proxy)-г нэмнэ үү.
Нэг VPS дээрх 20 контейнерт 20 өөр прокси оноож болох уу?
Тийм. Контейнерийн үйлчилгээ бүрийг (эсвэл тус тусад нь .env хувьсагч дамжуулж) өөрийн гэсэн http://user:pass@ip:port мөрөөр тодорхойлно уу.
Яагаад прокси хувьсагчдыг том болон жижиг үсгээр хоёуланг нь тохируулдаг вэ?
Зарим Linux сангууд (тухайлбал libcurl) жижиг үсгээрх http_proxy / https_proxy-г эхэлж шалгадаг бол Go болон Node хэрэгслүүд ихэвчлэн том үсгээрх HTTP_PROXY / HTTPS_PROXY-г шалгадаг.
Docker контейнер бүрд зориулалтын статик IP оноох
7 улсын хязгааргүй трафиктай зориулалтын Dedicated IPv4 болон Static ISP проксиг шууд аваарай.
Docker прокси худалдаж авах