django+docker 到弹性豆茎

Posted

技术标签:

【中文标题】django+docker 到弹性豆茎【英文标题】:django+docker to elastic beanstalk 【发布时间】:2018-03-23 02:59:48 【问题描述】:

我按照以下说明在 docker 中创建了一个超级简单的 django 应用程序:https://docs.docker.com/compose/django/

一切都在本地工作。 当我尝试将包含 Dockerfiledocker-compose.yml 的文件夹作为多容器 docker 上传到 AWS Elastic Beanstalk 时,它不起作用。我还应该提供Dockerrun.aws.json吗?

这是我在Dockerfile 中的内容:

   FROM python:3
   ENV PYTHONUNBUFFERED 1
   RUN mkdir /code
   WORKDIR /code
   ADD requirements.txt /code/
   RUN pip install -r requirements.txt
   ADD . /code/

docker-compose.yml:

  version: '3'

  services:
    db:
      image: postgres
    web:
      build: .
      command: python3 manage.py runserver 0.0.0.0:8000
      volumes:
        - .:/code
      ports:
        - "8000:8000"
      depends_on:
        - db

【问题讨论】:

“上传文件夹”是指压缩并将档案上传到 Elastic Beanstalk 【参考方案1】:

是的,您必须提供Dockerrun 文件。来自the official docs:

Elastic Beanstalk 上的多容器 Docker 实例需要 名为Dockerrun.aws.json 的配置文件。这个文件是特定的 到 Elastic Beanstalk 并且可以单独使用或与源结合使用 source bundle 中的代码和内容以在 Docker 平台。

【讨论】:

抱歉这个愚蠢的问题,但我应该在那里写什么?典型的 django 应用程序是否有任何“标准”设置? 我找到了一个非常简约的 Dockerrun.aws.json 版本: "AWSEBDockerrunVersion": "1", "Logging": "/var/eb_log" 这里:github.com/glynjackson/django-docker-template/blob/master/… 就是这样够了吗? 请阅读上面给出的文档链接。他们提供有关如何编写 dockerrun 文件的信息:docs.aws.amazon.com/elasticbeanstalk/latest/dg/…

以上是关于django+docker 到弹性豆茎的主要内容,如果未能解决你的问题,请参考以下文章

将 django docker 容器部署到弹性 beantalk

将 react 应用的 docker 镜像部署到 Elastic beanstalk

在弹性豆茎上运行 mongo 并连接到它 - 利弊?

弹性豆茎上自动缩放的 django 应用程序的多个 celery beat 实例

弹性豆茎和 django 的 Cron 作业

弹性豆茎 gzip Python & Django