プロキシーサーバー利用の設定 (original) (raw)

プロキシーサーバー利用の設定

コンテナーが HTTP、HTTPS、FTP によるプロキシーサーバーを必要とする場合、さまざまな方法により設定を行うことができます。

Docker クライアントの設定

  1. Docker クライアント上において、コンテナーを起動するユーザーのホームディレクトリ内に~/.docker/config.jsonを新規生成するか、これを編集します。 そして以下のような JSON 記述を追加します。 この記述において、プロキシータイプとして必要であればhttpsProxyまたはftpProxyを指定します。 またプロキシーサーバーのアドレスとポートを指定します。 プロキシーサーバーは、同時に複数設定することもできます。
    プロキシーサーバーを介したくないホストや IP 範囲の指定が必要な場合は、noProxyキーにおいて IP アドレスまたはホスト名をカンマ区切りにより設定します。 ホストに対してはアスタリスク*を用いたワイルドカード指定、IP アドレスに対しては CIDR 記法がサポートされています。 たとえば以下に例を示します。
{  
 "proxies":  
 {  
   "default":  
   {  
     "httpProxy": "http://192.168.1.12:3128",  
     "httpsProxy": "http://192.168.1.12:3128",  
     "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"  
   }  
 }  
}  

ファイルを保存します。 2. コンテナーの新規生成時や起動時には、コンテナー内に環境変数が自動的に生成されます。

環境変数の利用

環境変数の手動設定

イメージをビルドした場合、あるいはコンテナーの生成、実行時に--envフラグを利用した場合、以下に示すような環境変数を使って、値を設定して利用することができます。 この方法ではイメージの可搬性が損なわれます。 したがって Docker 17.07 またはそれ以降を利用している場合は、代わりに Docker クライアントの設定 を行ってください。

変数 Dockerfile 例 docker run実行例
HTTP_PROXY ENV HTTP_PROXY="http://192.168.1.12:3128" --env HTTP_PROXY="http://192.168.1.12:3128"
HTTPS_PROXY ENV HTTPS_PROXY="https://192.168.1.12:3128" --env HTTPS_PROXY="https://192.168.1.12:3128"
FTP_PROXY ENV FTP_PROXY="ftp://192.168.1.12:3128" --env FTP_PROXY="ftp://192.168.1.12:3128"
NO_PROXY ENV NO_PROXY="*.test.example.com,.example2.com" --env NO_PROXY="*.test.example.com,.example2.com"

network, networking, proxy, client