【问题标题】:My server is not responding, it is hanging up, did not returning anything我的服务器没有响应,它挂了,没有返回任何东西
【发布时间】:2021-10-05 00:18:08
【问题描述】:

我在我的 mac 上成功构建了一个 docker 映像。我通过输入 docker run -p 8000:8000 来运行这个图像。 Django 服务器已启动并准备好接受请求。但是当我通过邮递员请求给定 URL 时,出现错误:套接字挂断。 这是我的 docker 文件。

FROM python:3.6-slim-stretch
ENV PYTHONUNBUFFERED 1
WORKDIR /app

COPY requirements.txt requirements.txt

RUN apt-get -y update
RUN apt-get install -y --fix-missing \
    build-essential \
    cmake \
    gfortran \
    git \
    wget \
    curl \
    graphicsmagick \
    libgraphicsmagick1-dev \
    libatlas-base-dev \
    libavcodec-dev \
    libavformat-dev \
    libgtk2.0-dev \
    libjpeg-dev \
    liblapack-dev \
    libswscale-dev \
    pkg-config \
    python3-dev \
    python3-numpy \
    software-properties-common \
    zip \
    && apt-get clean && rm -rf /tmp/* /var/tmp/*

RUN cd ~ && \
    mkdir -p dlib && \
    git clone -b 'v19.9' --single-branch https://github.com/davisking/dlib.git dlib/ && \
    cd  dlib/ && \
    python3 setup.py install --yes USE_AVX_INSTRUCTIONS
RUN pip3 install --default-timeout=100 future
RUN pip3 install -r requirements.txt
COPY . .
CMD python3 manage.py makemigrations face && python3 manage.py migrate && python3 manage.py runserver

同样由服务器响应的浏览器没有发送数据。 请帮帮我。

【问题讨论】:

  • 如果没有看到您的代码也很难提供帮助。据我们所知,您的服务器代码是故意挂起的。
  • 顺便说一句,你的 CMD 中不应该有 makemigrations
  • 如何修改我的问题

标签: python django docker face-recognition


【解决方案1】:

Django 的 runserver 命令默认侦听 127.0.0.1(环回接口),因为它用于开发,而不是生产。

为了让某个 Docker 容器对外部世界具有-publishable 的能力,它需要侦听0.0.0.0,即所有接口。

将其添加到您的 runserver 调用中...

CMD python3 manage.py migrate && python3 manage.py runserver 0.0.0.0:8000

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    相关资源
    最近更新 更多