当前位置: 首页 > 知识库问答 >
问题:

docker容器中的PyCharm远程调试

甄阿苏
2023-03-14

我很难弄清楚如何设置在Docker容器中运行的python应用程序(Flask)的远程调试。具体来说,我使用的是docker compose、PyCharm professional和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中创建了一个远程调试配置(通过将本地机器项目路径映射到docker容器中的路径)

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

    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...
    

    …在docker容器日志中,我读到:

    无法连接到0.0.0.0:4200

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

  • 共有3个答案

    鄢博简
    2023-03-14

    也许你应该连接到你自己的主机上。不是0.0.0.0,而是您自己的ip地址

    蓟清野
    2023-03-14

    使用host.docker.internal而不是0.0.0。这将允许docker决定使用哪个IP。

    谷森
    2023-03-14

    使用远程解释器,这将一次解决几个问题。我已经在Docker开发环境中回答了这个问题

    在IDE中添加一个远程python SDK,这也将解析远程安装的所有库。不过,您需要一个SSH连接来完成这项工作,所以请安装sshd并使用我在回答中概述的共享开发人员密钥。

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

    如果您仍然希望使用基于端口的调试,请参阅Docker:MacOSX向主机公开容器端口-这解释了您应该如何理解附加和侦听部分。

     类似资料:
    • 我有: 本地PyCharm 带有docker容器的远程服务器 我想在远程docker容器Python解释器中运行本地PyCharm代码(远程服务器上的代码),以便调试。怎么设置? 我还在互联网上找到了一些文章,其中包含我不需要的以下描述: 地方魅力-

    • 我有一个简单的nodeJs应用程序,它使用快速框架。我可以在docker容器中成功运行这个应用程序。 我需要从VS代码远程调试这个应用程序如何做到这一点。 我在远程调试中采取的以下步骤 docker构建命令 docker运行命令 运行docker后,it控制台输出一条消息 调试器侦听127.0.0.1:5858 但是我无法从本地主机:8080访问节点应用程序,也无法从VScode进行调试。

    • 问题内容: 我有一个包含以下内容的Dockerfile: 我的docker-compose.yml看起来像这样: 当我执行 docker-composer时, 我看到一条消息“正在 侦听地址为5005的传输dt_socket ”。但是,当我尝试与jdb或Idea连接时,出现“ java.io.IOException:握手失败-连接过早关闭 ”。 如果我将 openjdk:9 更改为 openjdk

    • 本文向大家介绍Pycharm远程调试openstack的方法,包括了Pycharm远程调试openstack的方法的使用技巧和注意事项,需要的朋友参考一下 Pycharm对openstack进行远程调试,供大家参考,具体内容如下 总共分三步: 一. 安装samba(非必须的) 二. 安装并配置pycharm 三. 修改openstack的代码(以nova为例) 一.为了实现远程代码的map要首先进

    • 问题内容: 我已经开始使用docker进行开发,并进行以下设置: 主机-ubuntu服务器。 Docker容器-带有tomcat服务器的webapp(使用https)。 就主机-容器访问而言-一切正常。 但是 ,我无法从远程计算机(尽管仍然在同一网络中)访问容器的webapp。 跑步时 输出符合预期,因此docker的端口绑定看起来不错。 有任何想法吗? 谢谢! 问题答案: 我发现了我错过的内容,

    • 本文向大家介绍pycharm远程调试openstack代码,包括了pycharm远程调试openstack代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了pycharm远程调试openstack的具体代码,供大家参考,具体内容如下 1.安装pycharm专业版 本文安装pycharm 2016.2.3专业版。网上教程较多,这里不做详细介绍,只要到pycharm官网上下载应用程序进