首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将带有多个Docker容器的应用程序部署到AWS弹性豆柄?

如何将带有多个Docker容器的应用程序部署到AWS弹性豆柄?
EN

Stack Overflow用户
提问于 2020-06-01 16:00:53
回答 1查看 1.2K关注 0票数 0

我有一个Django应用程序,其docker映像的Dockerfile如下所示:

代码语言:javascript
复制
FROM python:3.7

ENV PYTHONUNBUFFERED 1

RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/

RUN pip3 install -r requirements.txt
COPY . /code/

ENV PORT=8000
EXPOSE 8000

然后,我有一个docker-compose.yml文件,用于为Django应用程序定义其他容器映像和依赖项,如下所示:

代码语言:javascript
复制
version: '3'

services:
  web: &django_app
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    ports:
      - "80:8000"
    depends_on:
      - rabbitmq
  rabbitmq:
    image: rabbitmq:latest
  celery_worker:
    <<: *django_app
    command: celery -A DJingApp worker --loglevel=info
    ports: []
    depends_on:
      - rabbitmq

正如您在上面看到的那样,我必须让3个容器(webrabbitmqcelery_worker)在任何时候运行,这样我的Django应用程序才能工作。

那么,我如何将这个项目的Docker映像部署到AWS ElasticBean秸秆并在那里运行呢?我的Dockerfiledocker-compose.yml有什么改变吗?如果是,他们是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-06-01 18:55:38

将一个多容器应用程序部署到ElasticBean秸秆上是很有挑战性的。您需要一个Dockerrun.aws.json版本2配置文件,它是一个特定于ElasticBean秸秆的JSON文件,该文件描述了如何将一组Docker容器部署为ElasticBean秸秆应用程序。

如果您不知道如何创建配置文件,我建议您检查一下官方页面

此外,您还可以使用容器变换实用程序将docker-compose文件转换为Dockerrun.aws.json配置文件,我认为这非常有用。您可能需要对自动生成的文件进行一些更改。

此外,要定制您的环境,您需要使用.ebextensions。例如定义Django设置路径、WSGI路径、web服务器配置、在部署前执行Django管理命令等等。

对于详细日志,我建议在以下几个方面使用环境日志:

弹性豆柄.环境.“你的环境-名称”-原木

备注:我建议使用eb部署来成功部署,因为您需要以.zip文件格式部署源代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62136102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档