2017-03-20 7 views
0

環境変数からコンテナ名を指定する必要があるドッカー作成ファイルを作成しています。docker-composeが環境変数のcontainer_nameを設定していません

マイドッキングウィンドウ-compose.ymlファイルは次のようになります。だから、

version: '3.0' 
services: 
    jenkins: 
    environment: 
    - INSTANCE_NAME=team_1 
    image: my_image 
    container_name: container_$INSTANCE_NAME 
    ports: 
    - "80:80" 
    expose: 
    - "80" 

私はドッキングウィンドウ-構成アップを実行したときに、私が思うに、それは、名前としてcontainer_team_1をコンテナを作成する必要がありますが、その代わりに、それは私も.envファイルを使用して、この事を試してみましたが、それでも、私はできませんcontaner_として

を実行します私はドッキングウィンドウ、構成設定を実行する場合、私は、次のように設定されているすべての変数を参照してください

container_name: container_ 
environment: 
    COMPANY_NAME: team_1 

しかし、実際にはコンテナ名に添付されていないことができ、ものの

に、CONTAINER_NAMEで環境変数を使用します。

答えて

0

あなたはvariable substitutionにドッキングウィンドウ-compose.ymlで定義された環境変数を使用することはできません。

ドッカー作曲はそれが動作するはずですので、あなたが定義したときに.envファイルにデフォルトで

INSTANCE_NAME=team_1 

.envを使用しています。そして、私はdocker-のvariable substitutionセクションで見ることができるようにdocker-compose up

+0

申し訳ありませんが、変数置換シェル環境変数からではなく**から値を取得します。ENV **ファイル。ドッキングウィンドウ・コンドキュメントから : 作曲は、ドッキングウィンドウ・コンが実行されるシェル環境からの変数値を使用しています。 –

+0

"環境変数のデフォルト値は、Composeが自動的に検索する.envファイルを使用して設定できます。シェル環境で設定された値は.envファイルで設定された値を上書きします。 – Lauri

0

を実行します書類を作成する場合は、

を使用しているため、$INSTANCE_NAMEdocker-compose upを実行しているシェルに設定する必要があります。値は、 docker-composeが実行されているシェル環境からの値です。その後、

export INSTANCE_NAME=my_instance

と::

まず、のような何かを

docker-compose up

敬具。

関連する問題