3
私はちょうどドッカーを使い始めましたが、まだそれは少し苦労しています。私はいくつかの簡単なグラフを生成するMatplotlibを使用してPythonの単純なPythonアプリケーションを持っています。私は現在、次のDockerfileています単純なドッキングされた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
どうすれば、このようなアプリケーションをドッキングできますか?それとも簡単にできないのですか? – hY8vVpf3tyR57Xib
問題は、ドッカーが、ユーザーベースが拡大したときに、複数のVMにまたがってアプリケーションを展開したりスケーリングしたりすることです。コマンドラインで出力を表示するだけでは意味がありません。 – Smit