2016-04-27 5 views
1

私は、仮想マシンをドッカーにソフトに切り替えています。私は自分の開発環境から始めています。Django&Docker:プロダクションと開発環境の間の依存関係を管理します

設定ファイルをbase.pydev.pyprod.pyに分割するのに使用しました。 prod.pyには、開発中にnewrelic/errorトラッカーやDEBUG=Falseなどの必要のないアプリがいくつかあります。

ドッカーでこれをどのように管理しますか?さまざまな設定で複数の画像を作成できますか?または、これを管理するためのより良い解決策がありますか?

version: '2' 
services: 
    db: 
    image: postgres 
    environment: 
     POSTGRES_USER: 'user' 
     POSTGRES_PASSWORD: 'pass' 
     POSTGRES_DB: 'name' 
    web: 
    build: ./project 
    image: project 
    command: /usr/local/bin/gunicorn project.wsgi:application -w 2 -b :8000 --reload 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 

答えて

2

あなたがドッキングウィンドウのコンのvariable substitution機能を利用してホストマシンから環境変数を使用してアプリケーションのすべての動作を制御することができます:ここで

は、私が使用docker-compose.ymlファイルです。たとえば、POSTGRES_USER、POSTGRES_PASSWORDは、あなたの環境内では環境変数として定義することができ、異なる値を持つデプロイメントマシンで定義することができます。 はまた、次の2個の異なるビルドイメージが定義されており、

build: ./project-${HOST} 

project-dev中のenv変数

に応じて、各1を使用して、別のDockerfileのdevの依存関係を持つと project-deployにDockerfileを持つことができます。

+0

これは完全に動作します:)ありがとうございます。 –

関連する問題