2017-09-12 8 views
0

私は、nginxリバースプロキシと一緒に、ドッカーで動作するCentOS-7 VMに小さなpythonフラスコアプリを持っています。などのgit + sshを使用して、いくつかの外部のユーティリティでrequirements.txt引き込む:Python requirements.txtはローカルのgit依存関係を使用します

git+ssh://path-to-our-repo/some-utility.git 

は、私は、ユーティリティに変更を加える必要があったので、私はそれをローカルにクローン化し、そして私は私の地元のバージョンを使用するアプリが必要。私は、エントリを変更しrequirements.txtで

/var/work/some-utility 

: をクローニングし、修正ユーティリティは、ローカルディレクトリにあると言う

git+file:///var/work/some-utility 

しかし、私は

でアプリケーションを実行しようとすると、
sudo docker-compose up 

私は、エラーメッセージ

Invalid requirement: 'git+file:///var/work/some-utility' 
it looks like a path. Does it exist ? 
を取得

「some-utility」のローカルコピーを使用するにはどうすればよいですか?

私も試してみました:

git+file:///var/work/some-utility#egg=someutility 

が、それは同じエラーを生成。

私はPIP install from local git repositoryを見ました。

これは、この質問に関連している:

https://stackoverflow.com/questions/7225900/how-to-pip-install-packages-according-to-requirements-txt-from-a-local-directory?rq=1

私はほとんどの人は、なぜ単に企業のGitのレポにいくつか-ユーティリティの開発ブランチにチェックしますが、私の場合は私はないと言うだろうと仮定その特権を持っていません。

私の問題はドッカーに関連しているので、ユーティリティフォルダをドッキング用のコンテナにマップしてからそのパスを使用する必要がありますか?私はドッカーのノブです。

---編集---

あなたの答えはありがとうございます。

volumes: 
    - ./some-utility:/usr/local/some-utility 

してからちょうどメンテナンスのためにダウンした

git+file:///usr/local/some-utility 

私たちの地元のGitのレポにrequirements.txtを変更し、:私は、ドッキングウィンドウ-compose.ymlにいくつかの-ユーティリティフォルダを追加しようとしましただから私はそれを試してみるためにそれが戻ってくるのを少し待たなければならないでしょう。

===編集2 ===

私は上記の変更を行った後、それは私のエンドポイントのアプリケーションを構築しようとしたときにドッカ - コンを実行するときに、私は次のエラーを取得する:

Cloning file:///usr/local/some-utility to /tmp/pip-yj9xxtae-build 
fatal: '/usr/local/some-utility' does not appear to be a git repository 

しかし、/usr/local/some-utilityフォルダには複製されたsome-utilityリポジトリが含まれているので、そこに行ってgit statusを実行することができます。

答えて

1

pip installをコンテナ内で実行している場合は、もちろん/var/work/some-utilityをコンテナ内で使用する必要があります。

あなたはこのように、ホストボリュームをマウント使用して、コンテナ内のディレクトリを公開することができます。

docker run -v /var/work/some-utility:/var/work/some-utility ... 
関連する問題