3
我刚刚开始使用docker,并且仍然在使用中苦苦挣扎。我有一个Python简单的Python应用程序,它使用Matplotlib来生成一些简单的图形。目前,我有以下Dockerfile:如何在简单的dockerized Python应用程序中显示输出?
FROM python:2
COPY requirements.txt/
RUN pip install --requirement requirements.txt
COPY my_code.py/
CMD [ "python", "./my_code.py" ]
然而,这产生了以下错误:
Traceback (most recent call last):
File "./fraud_detection_sample_code.py", line 161, in <module>
plt.figure(1)
File "/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 535, in figure
**kwargs)
File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 81, in new_figure_manager
return new_figure_manager_given_figure(num, figure)
File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 89, in new_figure_manager_given_figure
window = Tk.Tk()
File "/usr/local/lib/python2.7/lib-tk/Tkinter.py", line 1820, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
什么是解决这个的最好方法?我的方法有可能吗?
Docker并不意味着这种用例。 – Smit
在这种情况下,你会如何对这样的应用程序进行dockerize?或者它根本不可能? – hY8vVpf3tyR57Xib
问题是,当用户群增长时,docker需要在多个VM上部署和扩展您的应用程序。 Dockerizing只是通过命令行显示输出的python脚本没有任何意义。 – Smit