2017-05-26 68 views
1

我正在嘗試配置一個Docker鏡像,以便用戶可以輸入「docker run image」並彈出一個窗口來選擇輸入文件。我在創建Docker鏡像時嘗試使用Tkinter,但是當它嘗試加載Tkinter時Python腳本出錯。Docker Python文件輸入選擇器

由於Tkinter的沒有工作,我想用剛切換到正常輸入查詢:

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

但現在我得到一個「的EOFError:讀一本線的時候EOF」當它到達輸入( )線。

我Dockerfile如下

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

任何想法,爲什麼發生這種情況?我對使用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'。 –