远程调试Visual Studio代码,Django,Daphne,Daphne在Docker容器中运行的工作者

时间:2017-10-24 19:36:24

标签: python django visual-studio visual-studio-code daphne

刚开始使用visual studio代码进行python开发,到目前为止我还喜欢它。我在docker上运行的django应用程序中进行远程调试时遇到问题。希望有人能指出我正确的方向,通过docker在django中设置V.S调试。

我在docker容器中运行Django rest框架。我使用asgi服务器daphne因为websocket连接。我想知道是否有一种方法可以在与daphne worker在docker中运行的django中使用远程调试。

我看了一些tutorial,但它们是wsgi的一部分。我遇到的问题是daphne使用工作人员连接到daphne服务器并以这种方式处理请求。

我尝试过的事情:

  • 能够使用pdb进行调试。必须连接到工作容器,并指定stdin_open: truetty: true。它有效,但是是一个单调乏味的过程。

  • 尝试了指定的教程URL中涉及的步骤,但它不适用于Visual Studio Code。

  • 还尝试在pycharm中使用远程调试,但后台骨架进程使我的计算机非常慢。但我能够让它发挥作用。希望我能在Visual Studio Code中做同样的事情。

这是我的daphne和daphne工人设置的docker-compose.yml

  #-- Daphne Webserver
  web:
    build:
      context: .
      dockerfile: Dockerfile
    hostname: web
    command: daphne -b 0.0.0.0 -p 8001 datuhweb.asgi:channel_layer --access-log=logs/daphne.access.log
    environment:
      - ENV: 'LOCAL'
    expose:
      - "8001"
    volumes:
      - .:/app


  #-- Daphne worker
  daphne_worker:
    build:
      context: .
      dockerfile: Dockerfile
    hostname: daphne_worker
    environment:
      - ENV: 'LOCAL'
    volumes:
      - .:/app
    command: python -u manage.py runworker -v2
    stdin_open: true
    tty: true

我收到连接错误。 这是我对visual studio代码的设置

{
        "name": "Attach (Remote Debug)",
        "type": "python",
        "request": "attach",
        "localRoot": "/app/",
        "remoteRoot": "/app/",
        "port": 3500,
        "secret": "my_secret",
        "host": "172.18.0.8"
    }

这给我一个连接错误。

0 个答案:

没有答案