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 / 月
≈ $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 / 月
≈ $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

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.confレジストリに対する docker pull および docker push リクエスト

Docker ComposeのベストプラクティスとNO_PROXYルール

  • すべてのLinux CLIツールと各言語ランタイムが認識できるよう、大文字(HTTP_PROXY、HTTPS_PROXY、NO_PROXY)と小文字(http_proxy、https_proxy、no_proxy)の両方を設定する
  • コンテナ間通信がローカルブリッジネットワーク内に留まるよう、内部Docker Composeサービス名(例:NO_PROXY=localhost,127.0.0.1,redis,postgres)を必ず指定する
  • 公開イメージの 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)を追加して、内部ブリッジホストのプロキシをバイパスしてください。

1台の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 でプロキシを使用する方法(コマンド構文とトラブルシューティング)
Linux、macOS、Windows で curl コマンドを使って認証付き HTTP(S) プロキシ(-x http://user:pass@ip:port および -U)を実行する方法。
プラットフォーム別プロキシ
Webスクレイピング用プロキシ:24時間365日クローラー向け無制限専用IPv4&ISPプール
Python、Playwright、Selenium、Scrapy向け高速HTTP(S)専用IPv4&固定ISPプロキシ。月間帯域幅無制限。
プラットフォーム別プロキシ
エアドロップ&DePIN(Grass)用プロキシ:固定ISPでSybil判定を完全回避
Web3エアドロ、テストネット、DePINノード拡張(Grass、Dawn、Nodepay)を安全に運用。固定ISPと専用IPv4プロキシ。
プラットフォーム別プロキシ
SEO&SERP順位追跡用プロキシ:7か国の正確な検索結果順位をリアルタイム監視
地域別キーワード順位の追跡、Geoリダイレクトの監査、Screaming Frogによるクローリングを無制限の専用IPv4&固定ISPプロキシで実現。
IPV4 · singapore
シンガポール専用IPv4プロキシ:東南アジアECと広告運用のための高速固定SG IP
シンガポール専用IPv4プロキシ:LazadaやShopee SG店舗、地域広告アカウント、広告検証、低遅延自動化に。無制限データ。
IPV4 · united states
米国専用IPv4プロキシ:高速かつ専用のアメリカデータセンターIP
米国専用IPv4プロキシ:スクレイピング、順位計測、広告確認、Amazon調査に。固定IP、1人1IP、帯域無制限、即時有効化。
用途別ガイド
Webスクレイピング・データ収集向けプロキシ
Webスクレイピング用プロキシの選び方。多くのサイトには高速な専用IPv4、厳しいサイトには固定ISP。帯域無制限で、責任あるデータ収集の方法も解説。