วิธีตั้งค่าพร็อกซีใน Docker (คอนเทนเนอร์, Compose และการบิลด์)

อัปเดตเมื่อ:

เมื่อเรียกใช้สแครปเปอร์แบบหลายคอนเทนเนอร์ เวิร์กเกอร์ระบบอัตโนมัติ หรือโหนด DePIN บนเซิร์ฟเวอร์โฮสต์เครื่องเดียว การส่งตัวแปรสภาพแวดล้อม HTTP_PROXY และ HTTPS_PROXY แยกตามคอนเทนเนอร์จะช่วยให้แต่ละบริการส่งข้อมูลออกผ่านที่อยู่ IPv4 แบบคงที่เฉพาะจาก VinaProxy ได้โดยไม่ต้องแก้ไขตารางเส้นทางของเครื่องโฮสต์

Docker · HTTP Proxy Format
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port
IPv4 ส่วนตัว (Datacenter)
🇸🇬 Singapore
มีสินค้า
เริ่มต้น
₫20,000 / IP / เดือน
≈ US$0.74 · ชำระเป็น VND
ส่วนลดตามจำนวนการสั่งซื้อ
  • 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
ซื้อ Singapore
IPv4 ส่วนตัว (Datacenter)
🇺🇸 United States
มีสินค้า
เริ่มต้น
₫20,000 / IP / เดือน
≈ US$0.74 · ชำระเป็น VND
ส่วนลดตามจำนวนการสั่งซื้อ
  • 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
ซื้อ United States
พร็อกซีตามแพลตฟอร์ม:airdrop-grassweb-scrapingseo-rank-tracking

ทำความเข้าใจขอบเขตการกำหนดค่าพร็อกซี 3 ระดับของ Docker

Docker แยกการรับส่งข้อมูลระหว่างรันไทม์ของคอนเทนเนอร์ การบิลด์อิมเมจ และการดึงข้อมูลรีจิสทรีของเดมอนออกจากกัน:

ขอบเขต Dockerตำแหน่งกำหนดค่าการรับส่งข้อมูลที่กำหนดเส้นทาง
1. รันไทม์คอนเทนเนอร์ (ใช้งานบ่อยที่สุด)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

  • กำหนดทั้งตัวแปรพิมพ์ใหญ่ (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) และพิมพ์เล็ก (http_proxy, https_proxy, no_proxy) เพื่อให้เครื่องมือ CLI ของ Linux และรันไทม์ของภาษาทั้งหมดสามารถตรวจพบได้
  • ระบุชื่อบริการภายในของ Docker Compose เสมอ (เช่น NO_PROXY=localhost,127.0.0.1,redis,postgres) เพื่อให้ทราฟฟิกระหว่างคอนเทนเนอร์ยังคงอยู่บนเครือข่ายบริดจ์ในเครื่อง
  • อย่าฝังรหัสผ่านพร็อกซีลงในอิมเมจสาธารณะด้วย ENV ภายใน Dockerfile เป็นอันขาด—ควรส่งผ่านตัวแปรสภาพแวดล้อมตอนรันไทม์ผ่าน .env หรือ docker-compose.yml

ขั้นตอนทีละขั้น

  1. 1

    จัดรูปแบบพร็อกซีของคุณเป็น http://user:pass@ip:port

    แปลงบรรทัด ip:port:user:pass ของ VinaProxy ด้วยเครื่องมือแปลงรูปแบบพร็อกซีของเรา

  2. 2

    เพิ่มตัวแปรสภาพแวดล้อมลงใน docker-compose.yml

    ภายใต้ environment: ของบริการของคุณ ให้ระบุ HTTP_PROXY, HTTPS_PROXY, http_proxy, https_proxy และ NO_PROXY=localhost,127.0.0.1,redis,db

  3. 3

    เริ่มหรือสร้างคอนเทนเนอร์ใหม่

    รันคำสั่ง docker compose up -d เพื่อนำตัวแปรสภาพแวดล้อมใหม่ไปใช้งาน

  4. 4

    ตรวจสอบ IP ขาออกจากภายในคอนเทนเนอร์

    รัน docker exec -it <container> curl -s https://vinaproxy.com/api/my-ip เพื่อยืนยันว่าคอนเทนเนอร์ส่งข้อมูลผ่าน IP พร็อกซีของคุณ

คำถามที่พบบ่อย

ทำไมคอนเทนเนอร์ของฉันไม่สามารถเชื่อมต่อกับคอนเทนเนอร์ Redis หรือ Postgres ได้หลังจากตั้งค่า HTTP_PROXY?

หากไม่มี NO_PROXY ไคลเอ็นต์ HTTP จะพยายามเชื่อมต่อไปยังชื่อบริการภายใน เช่น redis หรือ db ผ่านพร็อกซีภายนอก ให้เพิ่ม NO_PROXY=localhost,127.0.0.1,redis,db (และพิมพ์เล็ก no_proxy) เพื่อข้ามพร็อกซีสำหรับโฮสต์บริดจ์ภายใน

ฉันสามารถกำหนด 20 พร็อกซีที่แตกต่างกันให้กับ 20 คอนเทนเนอร์บน VPS เครื่องเดียวได้หรือไม่?

ได้แน่นอน กำหนดค่าแต่ละบริการคอนเทนเนอร์ (หรือส่งผ่านตัวแปร .env ที่แยกกัน) ด้วยสตริง http://user:pass@ip:port ของตัวเอง

ทำไมต้องตั้งค่าตัวแปรพร็อกซีทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก?

ไลบรารี Linux บางตัว (เช่น libcurl) จะตรวจสอบตัวพิมพ์เล็ก http_proxy / https_proxy ก่อน ในขณะที่เครื่องมือภาษา Go และ Node มักจะอ่านตัวพิมพ์ใหญ่ HTTP_PROXY / HTTPS_PROXY

กำหนด IP คงที่เฉพาะสำหรับแต่ละคอนเทนเนอร์ Docker

พร็อกซี IPv4 ส่วนตัวและ ISP คงที่ไม่จำกัดแบนด์วิดท์ใน 7 ประเทศพร้อมเปิดใช้งานทันที

ซื้อพร็อกซี Docker

บทความที่เกี่ยวข้อง

วิธีตั้งค่าพร็อกซี
คู่มือการกำหนดค่า Proxy บน Ubuntu และ Debian Linux
กำหนดค่า VinaProxy HTTP(S) บน Ubuntu Server และ Desktop ครอบคลุม /etc/environment, ตัวจัดการแพ็กเกจ APT, บริการ systemd และเดสก์ท็อป GNOME
วิธีตั้งค่าพร็อกซี
วิธีใช้งานพร็อกซีใน cURL (ไวยากรณ์คำสั่งและการตรวจสอบข้อผิดพลาด)
วิธีใช้งาน curl ร่วมกับ HTTP(S) proxy ที่ต้องยืนยันตัวตน (-x http://user:pass@ip:port และ -U) บน Linux, macOS และ Windows
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Web Scraping: พูล IPv4 และ ISP แบบเฉพาะไม่จำกัด สำหรับบอทดูดข้อมูล 24/7
พร็อกซี HTTP(S) IPv4 แบบเฉพาะและ ISP แบบคงที่ความเร็วสูงสำหรับ Python, Playwright, Selenium และ Scrapy พร้อมแบนด์วิดท์รายเดือนไม่จำกัด
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Airdrop & DePIN (Grass): ป้องกันการถูกแบน Sybil ด้วย IP ISP แบบคงที่เฉพาะ
ฟาร์ม Web3 Airdrop, Testnet และโหนด DePIN บนเบราว์เซอร์ (Grass, Dawn, Nodepay) อย่างปลอดภัย พร็อกซี ISP แบบคงที่และ IPv4 เฉพาะ
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ SEO และติดตามอันดับ SERP: แสดงอันดับคำค้นหาที่แม่นยำใน 7 ประเทศ
ติดตามอันดับคีย์เวิร์ดระดับท้องถิ่น ตรวจสอบการเปลี่ยนเส้นทางตามพิกัดภูมิศาสตร์ และรัน Screaming Frog ด้วยพร็อกซี IPv4 แบบเฉพาะและ ISP แบบคงที่ไม่จำกัดแบนด์วิดท์
IPV4 · singapore
พร็อกซี IPv4 ส่วนตัวสิงคโปร์: IP สิงคโปร์ความเร็วสูงเฉพาะคุณสำหรับร้านค้าและโฆษณา
พร็อกซี IPv4 สิงคโปร์ส่วนตัวสำหรับร้าน Lazada, Shopee SG, บัญชีโฆษณา และระบบบอทความหน่วงต่ำ เป็น IP เฉพาะ แบนด์วิดท์ไม่จำกัด
IPV4 · united states
พร็อกซี IPv4 สหรัฐฯ ส่วนตัว: IP ดาต้าเซ็นเตอร์อเมริกาความเร็วสูงเฉพาะคุณ
พร็อกซี IPv4 ส่วนตัวสหรัฐฯ สำหรับดึงข้อมูล เช็กอันดับ ตรวจสอบโฆษณา และรีเสิร์ช Amazon มี IP คงที่ ใช้คนเดียว แบนด์วิดท์ไม่จำกัด เปิดใช้งานไว
การใช้งานพร็อกซี
พร็อกซีสำหรับเว็บสเครปปิ้งและการเก็บข้อมูล
เลือกพร็อกซีสำหรับเว็บสเครปปิ้ง: IPv4 ส่วนตัวที่รวดเร็วสำหรับเว็บส่วนใหญ่ ISP แบบคงที่สำหรับเว็บที่เข้มงวดกว่า แบนด์วิดท์ไม่จำกัด และวิธีสเครปอย่างมีความรับผิดชอบ