2016-04-20 4 views
5

私はいくつかのdocker-compose.ymlファイルを用意しています。ですから、Dockerfileに引数を渡して、変数が設定されている値に応じて少し違うことをすることができます。docker-compose.ymlファイルからDockerfileに変数を渡します。

私はdockerfileを持っている私がこれまで試してみました

ドッキングウィンドウ-構成-A.ymlファイル

version: '2' 

services: 
    django: 
    build: 
     context: . 
     dockerfile: ./docker/Dockerfile 
     args: 
     - SOMETHING=foo 

ドッカ - コン・B.yml

version: '2' 

services: 
    django: 
    build: 
     context: . 
     dockerfile: ./docker/Dockerfile 
     args: 
     - SOMETHING=bar 

ファイル

私はSOMETHINGを使用したいと思います。

# Dockerfile 
RUN echo $SOMETHING 

これは機能しません。 SOMETHINGはドッカーファイルに渡されません。

これは間違っているのですか?これは意図した使用法ではありませんか?

docker-compose.ymlファイルからDockerfileに変数を渡す方法はありますか?

フィードバックは高く評価されます。ありがとう

+1

Dockerfileに 'ARG SOMETHING'を導入しましたか? – Lauri

+0

ENVをよく使う、https://docs.docker.com/engine/reference/builder/#env – user2915097

+0

@Lauri excellentを参照してください!ありがとう –

答えて

11

私はDockerfileのargを宣言していませんでした。

# docker-compose.yml file 

version: '2' 

services: 
    django: 
    build: 
     context: . 
     dockerfile: ./docker/Dockerfile 
     args: 
     - SOMETHING=foo 

 

# Dockerfile 
ARG SOMETHING 
RUN echo $SOMETHING 


@LauriにShoutout私に光を示します。

関連する問題