Docker-compose和pdb

我看到我不是第一个问这个问题,但是没有明确的答案:

如何在Python开发中使用docker-composer的pdb?

当你向Google叔叔询问django docker你会得到很棒的docker-composer例子和教程,我有一个工作环境 – 我可以运行docker-compose up并且我有一个整洁的开发环境, 但是PDB不工作 (这非常难过) 。

我可以解决与运行docker-compose run my-awesome-app python app.py 0.0.0.0:8000但我可以访问我的应用程序通过http://127.0.0.1:8000从主机(我可以与docker-compose up ),似乎每次我使用run新的容器是这样的: dir_app_13dir_db_4我根本不需要。

善意的人请帮助我。

PS
我使用pdb ++作为例子,并使用了这个django例子中的一个基本的docker-compose.yml。 我也尝试过,但似乎没有任何帮助。 而且我使用docker -composer 1.3.0rc3,因为它有Dockerfile指向支持。

尝试使用–service-ports选项运行您的Web容器: docker-compose run --service-ports web

使用以下步骤在任何python脚本上附加pdb。

第1步。在你的yml文件中添加以下内容

 stdin_open: true tty: true 

这将启用交互模式,并将附加标准input。 这对于-it模式是等效的。

第2步。

 docker attach <generated_instanceid> 

你现在将得到pdbshell