方法 1
すべての Docker コンテナーにプロキシを設定するには、次の手順に従います。
- Docker ホスト上にプロキシ サーバーをセットアップするには、まず systemd ドロップイン ディレクトリを作成し、
sudo mkdir -p /etc/systemd/system/docker.service.d
次/etc/systemd/system/docker.service.d/http-proxy.conf
の内容をファイルに追加してプロキシを構成します。
cat >> /etc/systemd/system/docker.service.d/http-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://your-proxy:your-port"
Environment="HTTPS_PROXY=http://your-proxy:your-port"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
EOF
your-proxy
と をプロキシ サーバーとポート番号に置き換えyour-port
、NO_PROXY
プロキシの使用を必要としないホスト名または IP アドレスで構成します。
- 新しい構成を有効にするために、Docker サービスをリロードします。
sudo systemctl daemon-reload
sudo systemctl restart docker
これにより、Docker サービスが再起動され、すべての Docker コンテナが新しいプロキシ設定で起動されます。
設定がロードされ、変更内容と一致していることを確認します。次に例を示します。
sudo systemctl show --property=Environment docker
方法 2
docker run コマンドを使用して新しいコンテナーを起動し、起動コマンドに --env または -e オプションを含めて、特定のコンテナーのプロキシ環境変数を設定することもできます。次に例を示します。
docker run -e HTTP_PROXY=http://your-proxy:your-port -e HTTPS_PROXY=http://your-proxy:your-port alpine /bin/sh
これにより、新しい Alpine Linux ベースのコンテナーが起動され、コンテナーのプロキシ環境変数が設定されます。
既存のコンテナーの場合、 docker exec コマンドを使用してコマンドを実行できます。次に例を示します。
docker exec -e HTTP_PROXY=http://your-proxy:your-port -e HTTPS_PROXY=http://your-proxy:your-port container-name /bin/sh
これにより、container-name という名前のコンテナーで新しいシェル セッションが開始され、そのセッションのプロキシ環境変数が設定されます。
コンテナ アプリケーションで特定のプロキシ設定を使用する必要がある場合は、コンテナ内でさらに構成を行う必要がある場合があることに注意してください。たとえば、プロキシ サーバーのアドレスとポート番号をアプリケーション構成ファイルに追加したり、コンテナ内に特定のプロキシ クライアント ソフトウェアをインストールしたりする必要がある場合があります。