私はローカルスクリプトmain.py
を持っていて、別のローカルスクリプトsubmain.py
をインポートしています。ローカルスクリプトをドッカーにインポートするpythonスクリプトを実行します
qsub -cwd -soft -l docker,docker_images="*docker_imagename*" -S /usr/bin/python ./main.py --arg1 value1 --arg2 value2
from submain import func
ImportError: No module named submain
マイDockerfileは次のようになります:私は、私は次のエラーを取得するドッキングウィンドウでそれを実行すると
FROM ubuntu:latest
RUN apt-get -y update && apt-get -y install build-essential libxml2-dev zlib1g-dev python-dev python-pip pkg-config libffi-dev libcairo-dev
RUN pip install --upgrade pip
RUN pip install python-igraph scikit-learn numpy scipy matplotlib
CMD /usr/local/bin/igraph
はどのようにして、追加のスクリプトと私のスクリプトmain.pyは、ローカルに保存されて実行できますか?これが不可能な場合、ドッカーの画像にsubmain.pyをどのように「添付」しますか?
情報を追加できますか?特に、少なくともあなたが走っているドッカーコマンド。また、これはigraphをローカルで(ドッカーではなく)実行しているときに機能しますか?また、なぜそれがqsubを実行していますか? – dshockley
はい、私はリモートマシン上で作業しています(sudoの権限がないため、ローカルにはigraphがありません)。 qsubを使用して別のサーバーにジョブを送信し、指定したもの以外のドッカーコマンドは実行しません。ローカルスクリプトのインポートが行われていないときはスクリプトのために働いていましたが、この場合はsubmain.pyを探す場所がわかりません。 –
私がqsub経由で起動しているという事実を忘れると、dockerコマンドでスクリプトを実行するコマンド/ Dockerfileは何でしょうか? –