2016-10-17 6 views
-1

WindowsマシンでTensorflowを使用する必要があります。私はDockerをインストールして、これら2つのチュートリアル(https://runnable.com/docker/python/dockerize-your-python-applicationhttps://civisanalytics.com/blog/engineering/2014/08/14/Using-Docker-to-Run-Python/)に続いて、私はPythonスクリプトを実行しようとしています。 My Dockerfileは、最初のチュートリアルのものとほぼ同じですが、Pystrichをインストールする代わりにTensorflowをインストールします。私はpython-stuffというDockerイメージを作成しました.TensorflowをインポートしてからHello worldを出力するmy_script.pyというスクリプトを作成しました。Dockerを使ってPythonスクリプトを実行できないのはなぜですか?

コマンドdocker run python-stuff python my_script.pyを実行すると、エラーは発生しませんが、スクリプトは出力を生成しません。何か案は?

EDIT:私のDockerfile:

FROM python:3 
ADD my_script.py/
RUN pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl 
CMD ["python", "./my_script.py"] 

docker logs python-stuffを実行しているあなたは、インラインの出力を確認したい場合は、オプション(または略して-ti--tty--interactiveを追加してみてくださいError: No such container: python-stuff

+1

あなたのDockerfile、あなたのコンテナの 'docker logs'を投稿してください – user2915097

+1

' python-stuff'はコンテナではなく画像の名前です 'docker ps - -all'を実行すると、alのIDが表示されます出口容器。次に、 'docker logs b6a11'を実行するか、最新のコンテナのIDで始まるものを実行します。また、あなたはどんなアウトプットを期待していますか?あなたのスクリプトはファイルを生成するのですか、コンソールに書き込みますか? –

+0

ああ。 'ドッカーログ'を実行すると何も生成されません。このスクリプトはTensorflowをインポートし、コンソールに "Hello world"を表示します。 – TAsk

答えて

0

修正済み問題は単にCMD行の './'

1

を与えます。これによりコンソール上のコンテナからのstdoutを得ることができます。また、stdinを介してスクリプトと対話することもできます。

実行するもう1つの方法は、--detachで、これはバックグラウンドで実行されます。これを行うと、DockerはコンテナIDをコンソールに表示し、(${ID}をIDで置き換えて、スクリプトがstdoutに書き込んだ現在の出力を見ることができます。生成された長いIDの場合は、docker logs fooのようなコマンドで使用できる名前を追加するために、--name fooオプションをコンテナに追加することができます。

+0

ありがとう!しかし、私はまだ自分のプログラムから何の出力も得られません。それが全く動いているかどうかはわかりません。 – TAsk

関連する問題