在docker集装箱中的PyCharm远程debugging
我很难找出如何设置在Docker容器中运行的python应用程序(Flask)的远程debugging。 具体而言,我使用的是docker-compose,PyCharm专业版和python 3.5。 这是我迄今为止所做的:
- 我将“pycharm-debug-py3k.egg”复制到项目文件夹中
-
我在wsgi.py文件中添加了以下几行:
import sys sys.path.append('../ pycharm-debug-py3k.egg')import pydevd pydevd.settrace('0.0.0.0',port = 8200,stdoutToServer = True,stderrToServer = True)
-
我在PyCharm中创build了一个远程debuggingconfiguration(通过映射我的本地机器项目path的path到docker容器中的path)
通过从PyCharm运行debuggingconfiguration(点击错误图标),打印(和挂起):
Starting debug server at port 4200 Use the following code to connect to the debugger: import pydevd pydevd.settrace('0.0.0.0', port=4200, stdoutToServer=True, stderrToServer=True) Waiting for process connection...
…在泊坞窗容器日志我读:
无法连接到0.0.0.0:4200
我该怎么办? (我的目标是能够在PyCharm中添加断点并停止Docker容器应用程序的执行以进行debugging)
使用远程解释器,这将一次解决几个问题。 我已经在这里回答了Docker开发环境中丰富的编辑
添加一个远程python SDK到你的IDE,这也将解决所有远程安装的库。 你将需要一个SSH连接来完成这个任务,所以安装sshd并使用我在答案中列出的共享开发者密钥。
尽pipe现在这样做更加努力,但是在进行远程端口连接时,我还是会给您提供更好的结果,在其他部分您还没有遇到,并且会发现。
如果您仍想使用基于端口的debugging,请参阅Docker:MacOSX Expose Container端口以主机 – 这解释了您应该如何理解attach和listen部分。