gpt4 book ai didi

django - 如果我将我的Elastic Beanstalk应用程序移动为使用Docker,是否需要自己的服务器?

转载 作者:行者123 更新时间:2023-12-02 20:27:29 28 4
gpt4 key购买 nike

我有一个运行中的Django flex Elastic Beanstalk应用程序,但是由于某些原因,我想从使用预配置的Python平台过渡到使用通用Docker平台。

在EB中使用Docker使用真实应用程序的文档或示例很少,因此我不清楚是否一旦移至Docker后也需要管理服务器,这意味着我的Docker镜像将需要自己的Apache /将nginx服务器放在我的django设置之上,或者EB是否仍将其Apache服务器与EC2实例上的docker镜像并排放置。换句话说,我的docker镜像上的最终CMD是简单的“python manage.py runserver”类型cmd还是某个“supervisord -n”?我是否需要类似于https://github.com/dockerfiles/django-uwsgi-nginx/blob/master/Dockerfile的镜像?

谢谢

最佳答案

您发布的链接是一个很好的起点,并且很好地描绘了功能性EB / Docker / Django设置的样子。还要看看https://github.com/AndrewSmiley/django-docker-eb(使用gunicorn代替nginx / uwsgi)。实际上,您实际上需要在Docker容器中运行某种服务器-该服务器(链接到示例中的nginx)是让您的Docker容器与正在运行它的EC2实例进行通信的原因。

如果您查看典型的Dockerfile,则有时会使用EXPOSE使端口对外界可见。 ElasticBeanstalk将在此端口上与您的容器通信,因此您的容器需要自己的某种内部服务器才能与这些请求进行交互。 ElasticBeanstalk将在EC2实例(我相信是nginx)上安装自己的外部服务器,该服务器将流量集中到您的容器。换句话说:Net <-> EC2实例<-> EB Web服务器<-> Docker <->容器中的服务器<->您的应用程序

虽然可以想象将python manage.py runserver作为Docker CMD运行,但是它设置的Web服务器并不适合用于生产。这就是为什么您链接到的镜像使用 super 用户来运行更适合生产的Web服务器配置的原因。但是,在两种情况下,您都在Docker容器中运行服务器!

关于django - 如果我将我的Elastic Beanstalk应用程序移动为使用Docker,是否需要自己的服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29991506/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com