使用docker进行Python远程调试

时间:2017-09-20 11:01:43

标签: python docker pycharm

我正在使用docker制作一个烧瓶webapp,我正在寻找一种启用pycharm调试的方法,到目前为止我能够使用内置的docker部署应用程序,由于dockerfile,应用程序会自动运行用supervisord配置

当我连接我的远程解释器时,我会得到通常的:

 * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 579-233-679

但是我明确表达的帖子并不是那个解释者,因为我已经将所有路线标记为断点,我仍然从webapp获得原始结果,没有任何断点可以做任何事情。

我猜我在问:

  • 我是以错误的方式来做这件事的吗? (我应该只使用虚拟机,对其进行远程调试,然后再装载虚拟机)
  • 我正在努力做什么?
  • 如果我使用这种开发方法,我是否应该手动调试所有内容?

1 个答案:

答案 0 :(得分:1)

更新

正确启用docker的调试模式的方法是创建一个docker-compose.yml,这告诉pycharm当你给它一个docker-compose解释器时要做什么,这样你就可以挂钩到服务上,我的yml看起来像:

version: '3.0'

services:
  web:
    build: .
    command: python3 app/main.py
    volumes:
      - .:/app
    ports:
      - "80:80"
      - "22"

未生成yml文件,您自己创建。

这使我设置烧瓶的端口转到80并允许调试器使用端口22进行连接,

我非常密切地关注https://blog.jetbrains.com/pycharm/2017/03/docker-compose-getting-flask-up-and-running/。 (如果有人偶然发现并且需要一只手然后发表评论,我会看看我是否可以提供帮助)