Cách cấu hình proxy HTTP(S) cho Docker Container và Docker Compose

Cập nhật:

Khi triển khai nhiều worker thu thập dữ liệu, bot tự động hóa hoặc node Web3 bằng Docker trên cùng một máy chủ VPS, bạn có thể gắn cố định cho mỗi Container một địa chỉ IP tĩnh riêng biệt từ VinaProxy thông qua các biến môi trường HTTP_PROXY và HTTPS_PROXY trong docker-compose.yml mà không làm thay đổi mạng gốc của máy chủ host.

Docker · HTTP Proxy Format
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port
Proxy IPv4 riêng (datacenter)
🇸🇬 Singapore
Còn hàng
Chỉ từ
20.000 ₫ / IP / tháng
Bảng giá theo số lượng
  • 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 ₫
Mua Singapore
Proxy IPv4 riêng (datacenter)
🇺🇸 United States
Còn hàng
Chỉ từ
20.000 ₫ / IP / tháng
Bảng giá theo số lượng
  • 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 ₫
Mua United States

Phân biệt 3 tầng cấu hình proxy trong hệ sinh thái Docker

Docker có 3 vị trí nhận cấu hình proxy với phạm vi tác động hoàn toàn khác nhau—hãy chọn đúng tầng bạn cần:

Tầng cấu hình DockerNơi khai báoPhạm vi tác động
1. Runtime Container (Phổ biến nhất)docker run -e HTTP_PROXY=... hoặc environment: trong docker-compose.ymlChỉ định tuyến ứng dụng chạy bên trong từng Container riêng lẻ
2. Quá trình Build Imagedocker build --build-arg HTTP_PROXY=http://user:pass@ip:port .Giúp các lệnh apt-get, pip, npm tải gói qua proxy lúc build
3. Docker Daemon (dockerd)/etc/systemd/system/docker.service.d/http-proxy.confDùng khi máy chủ cần tải image từ Docker Hub (docker pull) qua proxy

Khai báo chuẩn trong docker-compose.yml và quy tắc NO_PROXY

  • Khai báo đồng thời cả chữ hoa (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) lẫn chữ thường (http_proxy, https_proxy, no_proxy) vì một số thư viện C/Go/Python chỉ đọc chữ thường
  • Luôn liệt kê tên các service nội bộ (như redis, postgres, mongodb, localhost, 127.0.0.1) vào biến NO_PROXY để các container trong cùng mạng Docker bridge gọi nhau trực tiếp không đi vòng ra proxy ngoài
  • Không ghi cứng (ENV HTTP_PROXY=...) thông tin mật khẩu proxy vào trong Dockerfile công khai—hãy truyền lúc chạy qua file .env hoặc docker-compose.yml

Các bước thực hiện

  1. 1

    Chuẩn bị chuỗi URL http://user:pass@ip:port

    Chuyển dòng ip:port:user:pass của VinaProxy sang dạng http://user:pass@ip:port bằng công cụ đổi định dạng.

  2. 2

    Khai báo biến môi trường trong docker-compose.yml

    Trong mục environment: của từng service, thêm HTTP_PROXY, HTTPS_PROXY, http_proxy, https_proxy và NO_PROXY=localhost,127.0.0.1,redis,db.

  3. 3

    Khởi chạy lại Container

    Chạy docker compose up -d để áp dụng biến môi trường mới cho từng container.

  4. 4

    Kiểm tra IP bên trong Container

    Chạy docker exec -it <container_name> curl -s https://vinaproxy.com/api/my-ip để xác nhận container đã đi ra bằng IP của proxy.

Câu hỏi thường gặp

Tại sao container của tôi không kết nối được tới container Redis/Postgres sau khi thêm HTTP_PROXY?

Do thiếu biến NO_PROXY! Khi không có NO_PROXY, ứng dụng cố gắng gửi kết nối tới hostname redis:6379 hoặc postgres:5432 ra máy chủ proxy bên ngoài. Hãy thêm NO_PROXY=localhost,127.0.0.1,redis,postgres vào environment:.

Tôi có thể chạy 20 container trên 1 VPS, mỗi container gắn 1 proxy VinaProxy khác nhau không?

Hoàn toàn được và đây là kiến trúc chuẩn. Mỗi service hoặc replica nhận một biến HTTP_PROXY=http://user:pass@ip_N:port riêng từ file .env.

Tại sao phải khai báo cả chữ hoa `HTTP_PROXY` và chữ thường `http_proxy`?

Trong môi trường Linux container, curl và một số công cụ ưu tiên biến chữ thường http_proxy / https_proxy, trong khi Go và Node tools thường đọc HTTP_PROXY / HTTPS_PROXY.

Cấp IP tĩnh riêng cho từng Docker Container trên VPS của bạn

Proxy IPv4 riêng & Static ISP không giới hạn băng thông tại 7 quốc gia.

Mua Proxy cho Docker

Bài viết liên quan

Cài đặt proxy
Hướng dẫn cấu hình Proxy trên Ubuntu & Debian Linux
Hướng dẫn cấu hình proxy HTTP(S) VinaProxy trên Ubuntu Server và Desktop cho biến môi trường Shell, trình quản lý gói APT và dịch vụ systemd.
Cài đặt proxy
Cách sử dụng proxy HTTP(S) với câu lệnh cURL trên Terminal
Hướng dẫn cú pháp lệnh curl -x http://user:pass@ip:port và cờ -U trên Linux, macOS, Windows để kiểm tra proxy, xem HTTP header và đo ping.
Proxy theo nền tảng
Proxy cho Web Scraping: cào dữ liệu tốc độ cao, không giới hạn băng thông
Mua proxy IPv4 riêng và ISP tĩnh tốc độ cao cho Python, Playwright, Selenium và Scrapy. Cào dữ liệu giá TMĐT, tin tức và API ổn định 24/7.
Proxy theo nền tảng
Proxy làm Airdrop & treo DePIN (Grass): chọn IP tĩnh sạch tránh lọc Sybil
Mua proxy Static ISP và IPv4 riêng tại Việt Nam, Mỹ, Singapore để cày Airdrop Web3, testnet và treo tiện ích DePIN (Grass, Nodepay, Dawn) an toàn.
Proxy theo nền tảng
Proxy cho SEO & SERP Tracking: kiểm tra thứ hạng từ khóa chính xác theo từng nước
Mua proxy IPv4 riêng và ISP tĩnh tại Việt Nam, Mỹ, Nhật, Hàn, Anh, Singapore để kiểm tra thứ hạng từ khóa SEO địa phương và theo dõi đối thủ.
IPV4 · singapore
Proxy IPv4 riêng Singapore: IP SG nhanh, dùng riêng cho bán hàng khu vực và quảng cáo
Proxy IPv4 Singapore dùng riêng cho shop Lazada và Shopee SG, tài khoản quảng cáo khu vực, xác minh quảng cáo và tự động hóa độ trễ thấp. Không giới hạn data.
IPV4 · united states
Proxy IPv4 riêng Mỹ: IP datacenter Hoa Kỳ nhanh, dùng riêng và ổn định
Proxy IPv4 Mỹ dùng riêng cho cào dữ liệu, theo dõi thứ hạng, duyệt quảng cáo và nghiên cứu Amazon. IP tĩnh, 1 người 1 IP, băng thông không giới hạn.
Ứng dụng
Proxy cho web scraping và thu thập dữ liệu
Chọn proxy cào dữ liệu web: IPv4 riêng datacenter cho tốc độ, Static ISP cho web khó tính, không giới hạn băng thông, cùng cách thu thập dữ liệu đúng mực.