Docker卡在Django runserver上。

3

Dockerfile:

FROM python:3.6-slim
ENV root=/test
ENV django=$root/test
COPY ./code $root
WORKDIR $django
RUN pip install -r requirements.txt --no-cache-dir
CMD ["python3",  "manage.py", "runserver", "--noreload"]

如果没有使用--noreload参数,它会卡住。

Watching for file changes with StatReloader

信息提供: "docker run hello-world" 正常运行。

我在 Windows 10 家庭版上运行 VirtualBox 上的 Ubuntu(作为开发环境)。

更新: 我已将基础镜像更改为

FROM python:3.6

并且它可以工作,但问题仍然存在为什么使用 slim 不起作用?


1
你应该在容器内使用uwsgi或类似的东西来运行它。runserver命令仅用于本地开发。 - Tarun Lalwani
1个回答

0

你的设置中DEBUG值是多少?能否改为False。

这与Docker镜像滑动或任何其他镜像无关。 Django正在寻找热重载,每当代码发生变化时,用于开发目的。 但在Docker内部不需要,因为我相信您没有更改代码。

此外,在部署中使用wsgi/u - Gunicorn、uvicorn等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接