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

如何使用pycharm调试docker compose内部运行的进程,docker,pycharm,docker-compose,Docker,Pycharm,Docker Compose,我正在尝试将我的本地Pycharm+Django切换到基于docker的开发环境。我在mac上运行并使用Docker Compose(少数Docker:我的django应用程序、一些db和nginx) 所有运行正常,代码更改立即反映在docker中,在Pycharm中编码时,正确的包可用。docker compose启动后,Pycharm的docker plugin窗口中将显示一个正在运行的容器列表,对于每个容器,我可以看到其日志/属性/端口/卷绑定 解释器似乎已正确配置Docker Compo

我正在尝试将我的本地Pycharm+Django切换到基于docker的开发环境。我在mac上运行并使用Docker Compose(少数Docker:我的django应用程序、一些db和nginx)

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

解释器似乎已正确配置Docker Compose(app at[{my path}/Docker Compose.yaml])作为项目解释器,并将->/code的路径映射到Docker中的正确文件夹

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

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


你知道如何用Pycharm调试它吗?

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

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


也许这些文档可以提供帮助:

当前使用入口点运行Docked django时出现问题,因此,如果其他人使用该入口点登陆,请给出问题的想法!如果您面临此问题,请创建一个不同的docker-compose.dev.yml文件,仅用于调试,而无需输入点。这是目前的解决办法

请详细说明禁用入口点的含义。我的后续问题是如何在没有入口点的情况下执行程序?感谢您使用了一个命令,所以基本上解决方法是使用一个dev docker-compose.yml和一个运行的命令,no entrypoint.sh我的意思是,在我工作的地方,我的电脑被完全锁定了,所有的开发代码都在docker中运行-我在外面有pycharm。能够调试它会很好。抱歉,我不确定是什么阻止了您这么做,您是否尝试过在PyCharm中设置基于docker的解释器?还是在你的特殊情况下不可能?