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

如何使用pycharm调试docker compose内部运行的进程

宋铭
2023-03-14

我试图将我本地的Py魅力Django切换到基于docker的开发环境。我在mac上运行并使用Docker-Comment(少数dockers:我的django应用程序,一些db和nginx)。

所有运行正常,代码更改立即反映在docker中,在Pycharm中编码时,正确的包可用。docker compose启动后,Pycharm的docker plugin窗口中将显示一个正在运行的容器列表,对于每个容器,我可以看到其日志/属性/端口/卷绑定。

解释器似乎被正确配置为Docker Comment(应用程序在[{my path}/docker-compose.yaml])作为项目解释器和路径映射-

问题是我无法调试它。当我在调试对话框中选择Docker Compose时,唯一可用的选项是运行,而不是调试。

在我看来,这并不是Docker/Compose问题,而是Pycharm插件,它不允许使用Docker Compose运行/调试配置在调试中运行。

知道如何用Pycharm调试它吗?

共有3个答案

葛学民
2023-03-14

下面是我创建的一个视频,展示了在Py魅力中运行docker的不同方法,并使用Py魅力断点进行调试。

https://youtu.be/NMFAkrZTciM

颜志业
2023-03-14

目前,使用入口点运行DockedDjango时出现问题,因此,如果其他人使用该入口点登陆,请说明问题所在!如果您面临此问题,请创建不同的docker compose。仅用于调试的dev.yml文件,没有入口点。这是目前的工作

司空凌
2023-03-14

您应该使用标准的Python运行配置,而不是特定于Docker的配置。后者用于构建容器、启动docker compose服务等。

如果选择了基于Docker的解释器,PyCharm将自动启动您的服务,挂载您的代码,并在具有纯Python运行配置的容器中执行它。

也许这些文档可以帮助:https://www.jetbrains.com/help/pycharm/using-docker-compose-as-a-remote-interpreter.html

 类似资料:
  • 问题内容: 我使用PyCharm已有一段时间,所以我不是专家。 我通常如何在终端上运行程序,如下所示: 我想知道如何调试它? 对于我编写的其他程序,我没有任何参数,因此调试只是设置断点并按debug。 问题答案: 菜单:-> -> -> 。 脚本名称: 如果您需要从已安装的软件包(例如)中调试脚本,则也可以指定完整路径。例如:脚本名称: 上面是包含程序包的虚拟环境的路径。 脚本参数:

  • 问题内容: 我在Flask中创建了一个自定义CLI命令,可以在终端中通过它运行。我想使用PyCharm的调试器运行此命令。 我创建了一个“ Flask服务器”配置,并使用PyCharm调试器运行它,并在我在视图函数内部设置的断点处停止运行。但是,如果我尝试从PyCharm的终端运行CLI命令,它不会在命令的断点处停止。 是否需要自定义配置来调试自定义CLI命令?我发现了有关Django命令的问题,

  • 在PyCharm中调试一个Python应用程序,其中我使用Tensorflow将解释器设置为自定义docker映像,因此需要GPU。问题是,据我所知,Pycharm的命令构建没有提供一种发现可用GPU的方法。 使用以下命令输入容器,指定要使哪些GPU可用(): 在容器内,我可以运行查看是否找到GPU,并确认Tensorflow找到了它,使用: 如果我不使用标志,就不会发现GPU,这是预期的。注意:

  • 问题内容: 我正在尝试在Windows主机上的PyCharm和运行django应用程序的debian虚拟主机之间进行调试。说明说要安装egg,添加导入,然后调用命令。我认为这些事情需要在debian主机上完成吗? 好吧,那我应该把这两行放在哪个文件中? 我尝试将其放入settings.py中,但是得到了这种东西… pycharm只是坐在那里“等待连接” 问题答案: PyCharm(或你的选择依据)

  • 我通过maven-archetype-mojo创建了一个maven插件。我的intellij版本是:intellij 2018.1.7 并且我已经尝试了以下步骤来启动远程调试过程。 我创建了一个远程调试配置并将其指向端口8000 我在项目文件夹的终端中运行mvnDebug clean install,它显示: 准备在调试模式下执行Maven,侦听地址为8000的传输dt_socket null

  • 问题内容: 我们有一个使用OpenSSL的Python绑定的Linux应用程序,我怀疑它会导致随机崩溃。有时,我们会看到它崩溃并显示以下消息: Python致命错误:GC对象已被跟踪 这似乎是库方面的编程错误,或者是内存损坏的症状。给定一个核心文件,有什么办法知道它执行的最后一行Python源代码?还是如果它附加在GDB中?我意识到这可能是所有已编译的字节码,但是我希望那里有人解决了这个问题。当前