2017-07-01 6 views
0

私はdocker-compose.ymlでenv_fileを使用していますが、正しくビルドしていますが、ドッカーを使用しようとしているときにノードアプリケーションはprocess.envオブジェクト内のenv_file変数を見つけることができません。ここでなぜenv_fileをdocker-composeしても環境は動作しませんか?

は私のドッキングウィンドウ・コンファイルです:

SOME_VALUE=9599 

私が代わりに環境を使用すると、私のノードのアプリが正常に動作します:

ここ

node1: 
container_name: node01 
env_file: ./env/node1.production.env 
#environment: 
    #- SOME_VALUE=9599 
build: 
    context: ./node1 
    dockerfile: dockerfile 
ports: 
    - "3000:3000" 
networks: 
    - dev_net 

は私のnode1.production.envファイルです

ドッカーバージョン: 17.03
ドッカーの構成バージョン: 1.14
OS:CentOSの

+0

こんにちは、モハメド、ようこそ。ご質問ありがとうございます。このページを見て、適切にフォーマットする方法を見てみましょう(他の人があなたをより簡単に助けるために):https://stackoverflow.com/help/how-to-ask – petezurich

+1

これを少し一般化できますか?誰かが再現できるほどですか?再現するコードやDockerfileはありません。多分、https://gist.github.com/andyshinn/3034fa88e679e6357294e7a9b16b8197を試してみて、それが正常に動作することを確認できますか?これはうまく動作する私の例です。 –

+0

私はnode1.production.envの名前をotherName.production.envに変更しようとしましたが、動作しています。すでにその名前の変数をエクスポートしたようですが、今は.productionを.stageまたは.testに動的に変更しようとしています。 node_app.stage.envのようなものがあれば...どうすればいいですか? –

答えて

1

それ動作するはずです。私はあなたがnode1.production.envファイルに変数を複数回定義したと思います。 envファイルが正しいかどうか確認してください。

あなたが指定したコードからは、使用している構文にエラーがないようですが、存在する場合は、ビルドを開始する前に報告されているはずです。私の場合、私は次のようにENVファイルを使用します。

.envという名前のファイルをベースディレクトリに存在している
env_file: 
    - .env 

関連する問題