AWS上的多容器Docker

我似乎无法摆脱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服务器。 接口服务器和工人服务器和我自己的Django从本地Dockerfile构build,它们位于与docker-compose.yml相同的目录中

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

任何帮助,高度赞赏。

我们无法在“AWSEBDockerrunVersion:2”中从Dockerfile生成图像。 如果我们通过使用“AWSEBDockerrunVersion:1”来获得一个具有单个Dockerfile的容器设置,则可能是有可能的。

在你的情况下,你必须自己build立和推送图像,或者让你的CI服务器去做。 在Dockerrun.aws.json v2中定义图像。

来自AWS的文档 –