Python 地址已在使用(Errno 98)django与vscode和docker

Python 地址已在使用(Errno 98)django与vscode和docker,python,django,docker,visual-studio-code,Python,Django,Docker,Visual Studio Code,我有一个带有django的python应用程序,我正在docker容器中运行它。我需要调试这个应用程序,每次我做docker组合时,它都会在下面给出这个错误。我查看了几个关于如何调试的站点,但没有一个解决方案对我有帮助。有人知道会是什么吗?我认为最重要的文件为您评估如下,如果有任何更多的需要,我编辑后。 我正在使用django 2.0.1、ptvsd 3.2.1和Docker工具箱 File "manage.py", line 10, in <module> ptvsd.ena

我有一个带有django的python应用程序,我正在docker容器中运行它。我需要调试这个应用程序,每次我做docker组合时,它都会在下面给出这个错误。我查看了几个关于如何调试的站点,但没有一个解决方案对我有帮助。有人知道会是什么吗?我认为最重要的文件为您评估如下,如果有任何更多的需要,我编辑后。 我正在使用django 2.0.1、ptvsd 3.2.1和Docker工具箱

File "manage.py", line 10, in <module>    ptvsd.enable_attach(secret='my_secret', address = ('192.168.99.100', 3000))
File "/usr/local/lib/python3.6/site-packages/ptvsd/__init__.py", line 87, in enable_attach
return _attach_server().enable_attach(secret, address, certfile, keyfile, redirect_output)
File "/usr/local/lib/python3.6/site-packages/ptvsd/attach_server.py", line 109, in enable_attach
server.bind(address)
OSError: [Errno 99] Cannot assign requested addres
docker-compose.yml:

version: '3'
services:
  db:
    image: postgres
  backend:
    build: .
    command: bash app.sh
    volumes:
      - .:/code
    ports:
      - "3000:3000"
      - "8000:8000"
    depends_on:
      - db
  frontend:
    build: ./chatire-frontend
    command: bash front.sh
    volumes:
      - ./chatire-frontend:/to-do-app
    ports:
      - "8080:8080"
      - "8081:8081"
  rabbit1:
    image: "rabbitmq:3-management"
    hostname: "rabbit1"
    environment:
      RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG"
      RABBITMQ_DEFAULT_USER: "guest"
      RABBITMQ_DEFAULT_PASS: "guest"
      RABBITMQ_DEFAULT_VHOST: "/"
    ports:
      - "15672:15672"
      - "5672:5672"
    labels:
      NAME: "rabbitmq1"
    volumes:
      - "./rabbitmq-compose/enabled_plugins:/etc/rabbitmq/enabled_plugins"
      #- "./rabbitmq.config:/etc/rabbitmq/rabbitmq.config:ro"
      #- "./autocluster-0.4.1.ez:/usr/lib/rabbitmq/lib/rabbitmq_server-3.5.5/plugins/autocluster-0.4.1.ez"
Dockerfile

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
EXPOSE 3000
requirements.txt:

amqp==2.2.2
billiard==3.5.0.3
celery==4.1.0
Django==2.0.1
django-cors-headers==2.1.0
django-notifs==2.6.0
django-templated-mail==1.0.0
djangorestframework==3.7.7
djangorestframework-jwt==1.11.0
djoser==1.1.5
gevent==1.2.2
greenlet==0.4.12
kombu==4.1.0
pika==0.11.2
PyJWT==1.6.1
pytz==2017.3
simplejson==3.13.2
six==1.11.0
uWSGI==2.0.15
vine==1.1.4
psycopg2==2.7.4
psycopg2-binary==2.7.4
ptvsd==3.2.1 

根据quinox在Github()上的回答:

要使用自动重新加载功能,可以使VSCode仅在主进程中附加。基于Django的utils/autoreload.py和Django扩展的management/commands/runserver_plus.py:

如果os.environ.get('RUN_MAIN')或os.environ.get('WERKZEUG_RUN_MAIN'):

ptvsd.enable_attach(address=('0.0.0',7913),redirect_output=True)

如果该端口上已经有程序运行,请使用
lsof-i
检查哪些程序侦听哪些端口。
amqp==2.2.2
billiard==3.5.0.3
celery==4.1.0
Django==2.0.1
django-cors-headers==2.1.0
django-notifs==2.6.0
django-templated-mail==1.0.0
djangorestframework==3.7.7
djangorestframework-jwt==1.11.0
djoser==1.1.5
gevent==1.2.2
greenlet==0.4.12
kombu==4.1.0
pika==0.11.2
PyJWT==1.6.1
pytz==2017.3
simplejson==3.13.2
six==1.11.0
uWSGI==2.0.15
vine==1.1.4
psycopg2==2.7.4
psycopg2-binary==2.7.4
ptvsd==3.2.1