2016-12-19 12 views
0

Dockerコンテナには、約100個のカスタマイズ設定があります。 DockerFileにデフォルトをすべてコーディングするよりも、柔軟性がある方が好きです。私はdocker runコマンドは、このオプションをサポートしていることに気づく:DockerBuildファイルに環境変数ファイルを使用する方法はありますか?

--env-file value    Read in a file of environment variables (default []) 

docker buildで使用される同様のファイル駆動型のメカニズムを持ってする方法はありますか?それとももっと良い方法がありますか?

+0

いつでもシェルスクリプトを追加して実行し、シェルスクリプトでできることは何でも/何でもできることを忘れないでください)より少ないレイヤーが常に優れています。 – user2105103

答えて

2

Environment files are not supported for builds

このことについては既に議論されており、追加されない可能性があります。 buildコマンドでenvを導入すると、ホスト依存のビルドが作成されます。

The ARG command and --build-args are available during buildsただし、必要なファイルはサポートしていません。

user2105103が示すように、ビルドステップでenvファイルをコピーしてから、RUN中にソースファイルをコピーすることができます。

COPY .env /.env 
RUN set -uex; \ 
    . /.env; \ 
    echo $MY_ENV_VAR 
+0

Matt、私は上記のuser2105103リンクに従っていますが、あなたの提案と似たものは見つかりません。私はそれらすべての答えを辿りました。私はあなたの答えを受け入れましたが、それは私が必要なことをすることを可能にするはずです。しかし、特定のリファレンスへのより良いリンクを追加することができれば、それは素晴らしいでしょう! – JoeG

+0

私は、私の例とは別にuser2105103が提案したもののリファレンスを持っていません。リンクは、特定の解決策ではなく、自分のプロファイルにとどまっていました。 – Matt

0

あなたは動的カスタムDockerfilesを建設するbashスクリプトを書くことができます。

関連する問題