Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django AWS上的多集装箱装卸工_Django_Amazon Web Services_Docker_Amazon Elastic Beanstalk - Fatal编程技术网

Django AWS上的多集装箱装卸工

Django AWS上的多集装箱装卸工,django,amazon-web-services,docker,amazon-elastic-beanstalk,Django,Amazon Web Services,Docker,Amazon Elastic Beanstalk,我似乎无法理解dockrun.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_

我似乎无法理解dockrun.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和my own Django从本地Dockerfile生成,该docker-compose.yml位于同一目录中

现在,我正在尝试将我的应用程序部署到Elastic Beanstalk,据我所知,我需要一个dockrun.aws.json,它与docker-compose.yml相同,仅适用于aws。我试图从EBS中读取文档,但正如我前面提到的,我无法理解指定接口和工作服务器的部分。数据库和Redis部分很简单,但我不明白如何在AWS的json文件中指定如何构建这两个服务器


非常感谢您的帮助。

我们无法在“AWSEBDockronversion:2”中再从Dockerfile生成图像。如果我们使用“awsebdockronversion:1”使用单个Dockerfile设置单个容器,这是可能的

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

参考AWS文件-

  • 码头工人图片- Elastic Beanstalk的多容器Docker平台要求预构建图像,并将其存储在公共或私人在线图像存储库中。 弹性Beanstalk上的多容器Docker平台不支持在部署期间使用Dockerfile构建自定义映像。在创建弹性Beanstalk环境之前,构建映像并将其部署到在线存储库


在“AWSEBDockronversion:2”中,我们无法再从Dockerfile生成图像。如果我们使用“awsebdockronversion:1”使用单个Dockerfile设置单个容器,这是可能的

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

参考AWS文件-

  • 码头工人图片- Elastic Beanstalk的多容器Docker平台要求预构建图像,并将其存储在公共或私人在线图像存储库中。 弹性Beanstalk上的多容器Docker平台不支持在部署期间使用Dockerfile构建自定义映像。在创建弹性Beanstalk环境之前,构建映像并将其部署到在线存储库


啊,这解释了很多。我知道这是可能的,但我认为Dockerrun.aws.json可以100%从docker-compose.yml编写。谢谢你的快速回复。啊,这解释了很多。我知道这是可能的,但我认为Dockerrun.aws.json可以100%从docker-compose.yml编写。谢谢你的快速回复。