2016-11-21 19 views
1

envを設定することは可能ですか?すべての未来のDockerコンテナの変数?すべてのDockerコンテナのグローバル環境変数を設定する

これは、Dockerイメージファイルやコンテナの実行方法を変えずに特定のホストのhttpプロキシを設定するのに便利です(同じDockerコンテナが異なる「コンテキスト」で正常に動作するように)。

多分/etc/default/docker経由ですか?あなたのbashのセッションがEXTERNAL_PORTが定義されたという変数がある場合

:あなたがドッキングウィンドウ-COMPOSEファイル内のホスト変数を使用できるように

答えて

0

ドッカー構成するには、変数置換を使用しています。

web: 
    build: . 
    ports: 
    - "${EXTERNAL_PORT}:5000" 

チェック:私は現在のシェルセッションで定義されている場合HTTP_PROXYを使用すると、デフォルトでは、トラフィックをリダイレクトする必要があることを推測しているプロキシの場合もhttps://docs.docker.com/compose/compose-file/#variable-substitution

export http_proxy=http://10.203.0.1:5187/ 
export https_proxy=$http_proxy 
export ftp_proxy=$http_proxy 
export rsync_proxy=$http_proxy 
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com" 

そのようなことは、あなたが.bashrcからそれを設定することができ、すべてのHTTPトラフィックをリダイレクトする必要があります。ドッカーと一緒にテストしたことがないかどうか、私に知らせてください。

+0

ドッカーの作成については言及していません、 ごめんなさい。 –

+0

@ThomasDecaux次に、 'HTTP_PROXY'がドッカーに関連していないか、ドッカーがプロキシを設定するために作ったものではなく、単にLinuxのenv変数です。それに対応するウィンドウもあります。私はすべてのenv varsが設定されたイメージを実行するカスタムユーザーを作成します。 – Marcs

0

Marcが言ったようにドッカーを使用していない場合は、いいえ。

Dockerfilesはバイナリを作成します。 dockerfileで指定されていないもの(またはdocker-compose yamlまたはdocker build)はコンテナには入りません。これは多くのセキュリティ上の理由だけでなく、人々がこれらのコンテナをホスト自体に依存させる可能性があるため、一般的なベストプラクティスのためです。ビルドを行うためにdocker-composeを使用するか、172サブネットに影響するシステム全体のプロキシなど、ドッキング・コンテナのそのレイヤーに影響を与えるホスト自体に変更を加えることを検討してください

+0

Dockerfileイメージを作成します。これは '' docker run''で実行しますか? ''ドッカーラン-e K1 = V1 ... ''を自動的に渡したいと思います。したがって、開発者はプロキシを気にしません。 –

関連する問題