Compose: 特定のファイル拡張子のみをマウントする

作成日 2014年07月24日  ·  3コメント  ·  ソース: docker/compose

これが可能である場合、私はわからないが、言うだけマウントすることが可能である場合、私は疑問に思って*.pyでファイルvolumesの一部fig.yml

Pythonパッケージが含まれているディレクトリをマウントしようとしています。 私のDockefileは次のようになります。

FROM python:3

ADD . /code/
WORKDIR /code
RUN pip install -r requirements-testing.txt -e .

ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8

問題は、私が次のようなfig.ymlを持っている場合です。

python:
  build: .
  volumes:
    - .:/code/

次に、PythonアプリとともにインストールされたCLIを実行してみてください。 pip install -e ./code/下にビルドされたpythonパッケージでいくつかのディレクトリを作成するため、機能しません。 次に、ローカルソースコードディレクトリをそのディレクトリにマウントすると、それらのビルドディレクトリが削除され、コマンドが失敗します。

$ fig run python dc-campaign-finance-scraper
Traceback (most recent call last):
  File "/usr/local/bin/dc-campaign-finance-scraper", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.4/site-packages/pkg_resources.py", line 2697, in <module>
    working_set.require(__requires__)
  File "/usr/local/lib/python3.4/site-packages/pkg_resources.py", line 669, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.4/site-packages/pkg_resources.py", line 572, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: dc-campaign-finance-scraper==0.5.1

したがって、 .pyファイルしかマウントできなかったとしても、他のすべてのものを上書きすることはありません。 これがリモートで可能かどうかはわかりません。不可能な場合は、Pythonパッケージ開発にfigを使用するためのヒントがありますか。

最も参考になるコメント

私が見つけた最善の解決策は、実際のコードとテストディレクトリをマウントし、他のファイルはそのままにしておくことでした。

このようにして、ソースファイルは再構築せずに更新されますが、コンパイルされたファイルは上書きされません。

python:
  build: .
  volumes:
    - dc_campaign_finance_scraper:/code/dc_campaign_finance_scraper
    - test:/code/test

全てのコメント3件

これはDockerボリュームでは不可能です。恐れ入ります。

pip installを取得して、ファイルを/code外部の別のディレクトリに配置し、そこを参照するようにPythonを構成することは可能ですか? Pipのドキュメントを見ると、 --rootまたは--targetうまくいくようです。

私が見つけた最善の解決策は、実際のコードとテストディレクトリをマウントし、他のファイルはそのままにしておくことでした。

このようにして、ソースファイルは再構築せずに更新されますが、コンパイルされたファイルは上書きされません。

python:
  build: .
  volumes:
    - dc_campaign_finance_scraper:/code/dc_campaign_finance_scraper
    - test:/code/test

これは私を何時間も夢中にさせていました、ありがとう@saulshanabrook

このページは役に立ちましたか?
0 / 5 - 0 評価