2016-11-12 6 views
0

私はいくつかのサービスを独自のDockerコンテナで実行しています。私のプロジェクトでは、すべてのサービスに必要な小さなモジュールを含むlibフォルダもあります。カスタムモジュールをドッカーコンテナにインストールする

これらのモジュールをDockerコンテナに含める最も良い方法は何ですか?明らかに第三者のモジュール私はちょうどRUN pip install -r requirements.txtを使用して、私は自分のモジュールを含めることができる同様の方法はありますか?

答えて

0

私はそうのように、docker-composeを使用してコンテナにlibフォルダをマウントして、それを管理することになりましたモジュールをそのフォルダから削除します。

1

データコンテナを使用することをお勧めします。

docker-compose.yml(私はあなたがドッカーの作成を使用していると仮定します)ファイルに、あなたがマウントできるデータコンテナを追加することができますあなたの他のコンテナ:

version: '2' 
services: 
    web: 
    build: . 
    volumes: 
     - .:/app 
     - bundle:/bundle 

volumes: 
    bundle: {} 

デフォルトでは、コンテナは存在しないときに作成されます。

私はpipに慣れていませんが、それはbundlerと同じように動作すると思います。あなたのデータコンテナにpipインストールパスを設定し、pipがすべてのモジュールを置く永続レイヤを取得します。別のコンテナに同じモジュールが必要な場合は、データコンテナをマウントするだけです。

多分あなたはいくつかの問題を解決しなければならないかもしれませんが、あなたの主な考えがうまくいくと思います。

version: '2' 
services: 
    frontend_web: 
    build: . 
    volumes: 
     - ../../lib:/app/lib 

私はその後、ちょうどコンテナのPYTHONPATHに/アプリ/ libを追加しなければならなかったと私はいずれかをインポートすることもできます

関連する問題