首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >码头容器中的PyCharm远程调试

码头容器中的PyCharm远程调试
EN

Stack Overflow用户
提问于 2017-01-05 11:36:45
回答 3查看 23.3K关注 0票数 32

我很难弄清楚如何设置运行在Docker容器中的python应用程序(Flask)的远程调试。具体来说,我使用的是坞-撰写,PyCharm专业和python3.5。这就是我到目前为止所做的:

  • 我将“py魅力-调试-py3k.EGG”复制到项目文件夹中。
  • 我在wsgi.py文件中添加了以下行: 导入sys sys.path.append(‘../py魅力-调试-py3k.pydevd.settrace’)导入pydevd pydevd.settrace('0.0.0.0',port=8200,stdoutToServer=True,stderrToServer=True)
  • 我在PyCharm中创建了一个远程调试配置(通过将本地机器项目路径的路径映射到对接容器中的路径)

通过从PyCharm运行调试配置(单击bug图标),它将打印(并挂起):

代码语言:javascript
运行
复制
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...

我看到的码头容器日志中的...and:

无法连接到0.0.0.0: 4200

我该怎么办?(我的目标是能够在PyCharm中添加断点并停止执行docker容器应用程序,以便调试它)

EN

回答 3

Stack Overflow用户

发布于 2017-01-05 13:06:11

使用远程解释器,这将同时解决两个问题。我已经在这里回答过了,Rich editors in a Docker development environment

将远程python添加到您的IDE中,这将解析正在远程安装的所有库。但是,您将需要一个SSH连接才能完成这一任务,所以安装sshd并使用我在回答中概述的共享开发人员密钥。

即使现在做了更多的努力,我也会给你一个更好的结果,在其他的部分你还没有遇到并且会发现,当你只做一个远程端口连接的时候。

如果仍然希望使用基于端口的调试,请参见Docker: MacOSX Expose Container ports to host machine -这说明了如何理解附加部分和侦听部分。

票数 10
EN

Stack Overflow用户

发布于 2018-05-17 16:54:17

使用host.docker.internal而不是0.0.0.0。这将允许码头商决定使用哪个IP。

票数 9
EN

Stack Overflow用户

发布于 2019-09-11 02:37:28

也许你应该连接到你自己的主机上,那就是你的小矮人。不是0.0.0.0,而是你自己的ip地址

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41484074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档