如何在 Docker 中設定代理(容器、Compose 與映像檔建置)

更新於:

在單一主機伺服器上執行多容器爬蟲、自動化工作節點或 DePIN 節點時,為每個容器傳入 HTTP_PROXY 與 HTTPS_PROXY 環境變數,可讓每個服務透過來自 VinaProxy 的專屬獨立靜態 IPv4 位址出站,而無需變更主機的路由表。

Docker · HTTP Proxy Format
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port
獨享IPv4(資料中心)
🇸🇬 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(資料中心)
🇺🇸 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代理

理解 Docker 的 3 個代理配置範圍

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.confdocker pull 與 docker push 存取註冊庫的請求

Docker Compose 最佳實踐與 NO_PROXY 規則

  • 同時設定大寫(HTTP_PROXY, HTTPS_PROXY, NO_PROXY)與小寫(http_proxy, https_proxy, no_proxy)變數,確保所有 Linux CLI 工具與語言執行環境都能正常讀取
  • 務必在 NO_PROXY 中列出內部 Docker Compose 服務名稱(如 NO_PROXY=localhost,127.0.0.1,redis,postgres),使容器間通訊保留在本地 bridge 橋接網路上
  • 切勿在公開映像檔的 Dockerfile 中使用 ENV 硬編碼代理密碼——請在執行時透過 .env 或 docker-compose.yml 注入

操作步驟

  1. 1

    將代理格式化為 http://user:pass@ip:port

    使用我們的代理格式轉換工具將 VinaProxy 的 ip:port:user:pass 字串轉換為標準 URL 格式。

  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 出站。

常見問題

為什麼設定 HTTP_PROXY 後容器無法連線到 Redis 或 Postgres 容器?

如果沒有設定 NO_PROXY,HTTP 用戶端會嘗試透過外部代理連線到內部服務名稱(例如 redis 或 db)。請新增 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 個國家的無流量限制專用 IPv4 與靜態 ISP 代理。

購買 Docker 代理

相關文章

代理設定教學
Ubuntu 與 Debian Linux 代理伺服器配置完整指南
在 Ubuntu Server 及 Desktop 上為 /etc/environment、APT 套件管理員、systemd 守護行程及 GNOME 網路設定配置 VinaProxy HTTP(S) 代理。
代理設定教學
如何在 cURL 中使用 Proxy 代理(命令列語法與偵錯技巧)
在 Linux、macOS 與 Windows 上使用 curl 指令搭配驗證型 HTTP(S) 代理(-x http://user:pass@ip:port 與 -U 參數完全指南)。
依平台選擇代理
網路爬蟲專用代理:為 24/7 爬蟲打造的不限流量獨享 IPv4 與 ISP 代理池
為 Python、Playwright、Selenium 與 Scrapy 提供高速 HTTP(S) 獨享 IPv4 與靜態 ISP Proxy,享無限月度流量。
依平台選擇代理
空投與 DePIN (Grass) 代理:使用獨享靜態 ISP 避免女巫標記
安全運行 Web3 空投互動、測試網任務與 DePIN 瀏覽器外掛節點(Grass、Dawn、Nodepay)。提供獨享靜態 ISP 與私有 IPv4 代理。
依平台選擇代理
SEO 與 SERP 排名追蹤專用代理:精準監測 7 國搜尋引擎排名
追蹤精準在地化關鍵字排名,審查地理重定向,並使用不限流量獨享 IPv4 與靜態 ISP Proxy 執行 Screaming Frog 網站爬取。
IPV4 · singapore
新加坡獨享IPv4代理:東南亞跨境電商與海外廣告投放的高速專屬IP
新加坡獨享IPv4代理:適用於Lazada與Shopee新加坡店鋪、區域廣告帳號、廣告驗證及低延遲自動化。不限流量。
IPV4 · united states
美國獨享IPv4代理:專用於大數據擷取、SEO追蹤與廣告驗證的高速美國IP
美國獨享IPv4代理:專用於資料爬取、排名追蹤、廣告驗證及亞馬遜調研。靜態獨享IP,不限流量,快速啟用。
使用情境
網路爬蟲與資料蒐集專用 Proxy
挑選網路爬蟲 Proxy:多數網站用高速獨享 IPv4,嚴格網站用靜態 ISP,頻寬無上限,並了解如何負責任地爬取資料。