【问题标题】:Multi-Container Docker on AWSAWS 上的多容器 Docker
【发布时间】:2018-01-19 13:36:38
【问题描述】:

我似乎无法理解 Dockerrun.aws.json 文件,该文件是在 AWS Elastic Beanstalk 上运行多容器 docker 环境所必需的。

当我通过 Docker-Compose 运行我的应用程序时,在本地一切正常。以下是我的 docker-compose.yml 文件:

version: '2'
services:
  interfaceserver:
    build: .
    command: daphne -b 0.0.0.0 -p 8000 restbench.asgi:channel_layer
    user: app
    working_dir: /app
    ports:
      - 8000:8000
    depends_on:
      - database
      - redis
  workerserver:
    build: .
    user: app
    working_dir: /app
    command: python manage.py runworker
    depends_on:
      - database
      - redis
  database:
    image: postgres:9.5
  redis:
    image: redis:3.0-alpine

基本上我正在尝试运行四个服务。一个接口服务器、一个工作服务器、一个 Postgres 数据库和一个 Redis 服务器。 Interface-Server 和 Worker-Server 以及我自己的 Django 从与 docker-compose.yml 位于同一目录中的本地 Dockerfile 构建

现在我正在尝试将我的应用程序部署到 Elastic Beanstalk,据我了解,我需要一个 Dockerrun.aws.json,它与 docker-compose.yml 相同,仅适用于 AWS。我尝试从 EBS 阅读文档,但正如我上面提到的,我无法理解我指定 Interface-和 Worker-Server 的部分。 Database和Redis部分很简单,但是我不明白如何在AWS的json文件中指定如何构建这两个服务器。

非常感谢任何帮助。

【问题讨论】:

    标签: django amazon-web-services docker amazon-elastic-beanstalk


    【解决方案1】:

    我们不能再在“AWSEBDockerrunVersion: 2”中从 Dockerfile 构建镜像。如果我们使用“AWSEBDockerrunVersion: 1”使用单个 Dockerfile 设置单个容器,这是可能的。

    在您的情况下,您必须自己构建和推送图像,或者让您的 CI 服务器来完成。在 Dockerrun.aws.json v2 中定义图像。

    来自 AWS 文档的参考 -

    【讨论】:

    • 啊,这解释了很多。我有点理解这是可能的,但我认为 Dockerrun.aws.json 可以 100% 从 docker-compose.yml 编写。感谢您的快速回复。
    【解决方案2】:

    根据docs,Amazon Linux 2 现在支持 docker-compose 文件,并且不再有需要为多容器 Docker 环境预构建映像的限制。

    Amazon Linux AMI 上的多容器 Docker 平台要求您指定预构建的应用程序映像以作为容器运行。迁移后,您将不再有此限制,因为 Amazon Linux 2 Docker 平台还允许 Elastic Beanstalk 在部署期间构建您的容器映像。

    ...

    Docker Compose 工具使用 docker-compose.yml 文件来配置您的应用程序服务。此文件替换您的应用程序项目目录和应用程序源包中的 Dockerrun.aws.json v2 文件。

    我们还没有迁移我们的环境,但这听起来很有希望。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 2020-09-07
      • 2017-03-31
      • 1970-01-01
      相关资源
      最近更新 更多