Django + Docker最佳实践:使用runserver或wsgi.py?

时间:2019-07-06 09:45:30

标签: django docker

我已经阅读了很多有关如何在容器化的Docker环境中部署Django的博客文章(例如this one)。

他们都在runserver中使用docker-compose.yml命令。

甚至Docker documentation does this

这让我感到惊讶,因为使用Django Web服务器是not recommended for production

推荐的 pointing the webserver to wsgi.py

但是,我在Django和Docker上找不到的文章都没有解释为什么他们使用runserver而不是将apache或nginx指向wsgi.py

为什么所有这些文章都使用内置的Django开发网络服务器来处理请求,而不使用像apache或nginx这样功能强大的网络服务器?

在开发中使用容器以保持该环境尽可能接近生产的目的不是吗?那为什么要建立一个不准备生产的环境?

1 个答案:

答案 0 :(得分:1)

包括您提供的https://salesforce.stackexchange.com/questions/268188/is-it-possible-to-retrieve-a-signed-pdf-from-docusign-and-then-put-it-in-the-not/268196#268196在内的大多数指南的目的是为您提供ABC指南,以便通过docker快速将django应用容器化。

当您决定阅读这些指南时,您肯定被认为是经验丰富的django开发人员,但是是新的docker用户。因此,本文的重点不会告诉您如何使用生产服务器(如uwsgi,gunicorn)来管理django应用程序,因为它假定您已熟悉。

作为新的docker用户,它将更加努力地告诉您如何使用django启动项目在容器中对其进行docker化。然后,最简单的,带有django http服务器开发的类世界的项目将是最合适的选择。

但是,您仍然需要使用uwsgi, gunicorn等来部署应用,例如this