如何使用pycharm调试在docker-compose中运行的进程

时间:2018-03-20 13:42:31

标签: docker pycharm docker-compose

我试图将我的本地Pycharm + Django切换到基于docker的dev env。我在mac上运行并使用Docker-Compose(少数码头工具:我的django app,一些db和nginx)。

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

解释器似乎使用Docker Compose([{my path} /docker-compose.yaml]上的应用程序)正确配置为项目解释器和路径映射 - > / code到docker中的正确文件夹。

问题是我没有设法调试它。当我在调试对话框中选择Docker-Compose时,唯一可用的选项是Run,而不是Debug。

它并不认为我是Docker / Compose问题,而是Pycharm插件,它不允许在使用docker-compose运行/调试配置的调试中运行。

知道如何使用Pycharm进行调试吗?

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

当前在运行带有入口点的dockerized django时出现问题,因此,如果有人通过它进入此处,可以对问题有所了解!如果您遇到此问题,请创建另一个docker-compose.dev.yml文件,仅用于调试而无需入口。暂时解决此问题