2017-09-08 16 views
0

次のイメージを持つドッカー・ファイルを持っています。ドッキング・アップ・エントリー・ポイント

FROM python:3.4-alpine 

RUN apt-get update && apt-get install -y 

ENV TINI_VERSION v0.15.0 
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini 
RUN chmod +x /tini 

COPY ./entrypoint.sh/
ENTRYPOINT ["/tini", "--", "/entrypoint.sh"] 

entrypoint.shには、いくつかのbashコマンドが実行され、イメージが構築されています。

ここで、上記の画像を使用して、docker-composeファイルを使用して複数のコンテナを生成します。

services: 
    web: 
    image: test/tutorials:latest 
    ports: 
     - "8000:8000" 
    redis: 
    image: test/tutorials:latest 

それぞれのWebおよびRedis Containerには、共通の環境変数が設定されている必要があります。イメージが一度構築されるので、私はドッカーファイルにそれらを設定したくありません。 スタックの構築時にそれらを設定したい。 2つのコンテナ間の共通の環境変数はどのように共有できますか? entrypoint.shファイルを上書きする方法はありますか?

答えて

0

こちらのドキュメントを参照してください:https://docs.docker.com/compose/environment-variables/

一つの可能​​な解決策は、ホスト環境からあなたのenv VARを通過するようになります:

services: 
    web: 
    image: test/tutorials:latest 
    ports: 
     - "8000:8000" 
    environment: 
     - TINI_VERSION 
    redis: 
    image: test/tutorials:latest 
    environment: 
     - TINI_VERSION 

次に、あなただけのdocker-compose runを使用する前に、ホストENVにTINI_VERSIONを設定します。 .envファイルにデフォルトを設定するオプションもあります。

関連する問題