使用django和docker在localhost:8000中“重置连接”

时间:2020-02-12 07:38:14

标签: django docker docker-compose

运行docker-compose up后,

启动docker_django ...完成

附加到docker_django

docker_django |使用StatReloader监视文件更改

docker_django |正在执行系统检查...

docker_django |系统检查未发现任何问题(0静音)。

docker_django | 2020年2月12日-07:26:35

docker_django | Django版本3.0.3,使用设置“ backend.settings”

docker_django |在http://127.0.0.1:8000/

处启动开发服务器

docker_django |用CONTROL-C退出服务器。

当我连接到http://127.0.0.1:8000/时会显示此信息 enter image description here 运行docker-compose命令没有问题/错误,只有在访问站点时才可以。

我正在使用ubuntu 19.10,并且该项目具有django v3。

Dockerfile

FROM python:3

ENV PYTHONUNBUFFERED 1

RUN mkdir /code
WORKDIR /code

COPY . /code/

RUN pip install -r requirements.txt

docker-compose.yml

version: '3'

services:
    web:
        build: .
        container_name: docker_django
        command: python manage.py runserver
        volumes:
            - .:/code
        ports:
            - "8000:8000"

2 个答案:

答案 0 :(得分:4)

您的应用程序仅侦听来自本地主机的请求,对于容器而言,该请求是来自容器内部的请求。

尝试此撰写文件:

version: '3'

services:
    web:
        build: .
        container_name: docker_django
        command: python manage.py runserver 0.0.0.0:8000
        volumes:
            - .:/code
        ports:
            - "8000:8000"

根据建议更正了端口号的错字

答案 1 :(得分:0)

最终对我有用的是:

  1. 停止所有 docker 实例
  2. 在管理员模式下打开命令提示符
  3. 执行命令“netsh winsock reset”
  4. 重启机器
  5. 重启 docker 容器