0

我似乎無法擺脫Dockerrun.aws.json文件的困擾,它需要在AWS Elastic Beanstalk上運行多容器docker環境。AWS上的多容器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構建,它們位於與docker-compose.yml相同的目錄中。現在我試圖將我的應用程序部署到Elastic Beanstalk,並從據我所知,我需要一個Dockerrun.aws.json,它與docker-compose.yml相同,僅用於AWS。我嘗試從EBS讀取文檔,但正如我上面提到的,我無法理解我指定接口和工作服務器的部分。 Database和Redis部分很簡單,但我不明白如何指定如何在AWS的json文件中構建這兩個服務器。

任何幫助,高度讚賞。

回答

2

我們無法在「AWSEBDockerrunVersion:2」中從Dockerfile生成圖像。如果我們通過使用「AWSEBDockerrunVersion:1」來使單個Dockerfile具有單個容器設置,則可能是有可能的。

對於您的情況,您必須自行構建&推送圖像或讓您的CI服務器執行此操作。在Dockerrun.aws.json v2中定義圖像。從AWS文檔

參考 -

+0

啊,說明了很多。我有點理解這是可能的,但我認爲Dockerrun.aws.json可以從docker-compose.yml寫​​入100%。 感謝您的快速響應。 – c2programming

相關問題