2017-05-26 18 views
1

ユーザーが「docker run image」を入力し、入力ファイルを選択するためのウィンドウをポップアップできるように、Dockerイメージを設定しようとしています。私はDockerイメージを作成するときにTkinterを使用しようとしましたが、PythonスクリプトはTkinterを読み込もうとするとエラーになります。Docker Pythonファイル入力セレクタ

Tkinterには、私はちょうど使用して、通常の入力クエリに切り替えることを試みた動作しませんでしたので:

path= input('Input the file path:\n') 

しかし、今、私は取得しています:それは入力に到達したときに「例外EOFErrorラインを読むときにEOFを」( )行。

これが起こっている理由として

FROM python:3 
ADD script.py/
RUN pip install xlrd 
RUN pip install numpy 
RUN pip install matplotlib 
CMD [ "python", "./script.py" ] 

任意のアイデアを次のように私のDockerfileがありますか?私はDockerを使い始めたので、どんな助けでも大歓迎です。

答えて

1

コンテナをdocker run -ti imageで実行して、端末が接続された対話モードで動作するようにする必要があります。

X11 GUIアプリケーションの実行は、コンテナにディスプレイへのアクセス権を与える必要があるため、少し難解です。 This blog postは、このプロセスをより詳細に記述する。

+0

これで入力が可能になりますが、matplotlibはプロットの表示を開けません。 – DLee

+0

@ DLee私は役に立つはずのリンクで答えを更新しました。 –

+0

ホストで 'xhost +'を実行し、 '-e DISPLAY -v /tmp/.X11-unix:/ tmp/.X11-unix'を' docker run'に追加してみてください。 –