0

AWS Elastic Beanstalkでマルチコンテナドッカー環境を実行するために必要なDockerrun.aws.jsonファイルの周りに頭を浮かべているようです。AWSのマルチコンテナドッカー

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 

私は基本的に4つのサービスを実行しようとしています。 Aインタフェースサーバ、ワーカサーバ、Postgresデータベース、Redisサーバなどがあります。 Interface-ServerとWorker-Serverと私の独自のDjangoビルドはローカルのDockerfileからビルドされ、docker-compose.ymlと同じディレクトリにあります。

今、私のアプリケーションをElastic Beanstalkに展開しようとしています。私は、Dockerrun.aws.jsonが必要であることを理解しています。これはAWSのdocker-compose.ymlと同じです。私はEBSからドキュメントを読もうとしていますが、上記のとおり、私はInterface-and-Worker-Serverを指定する部分に頭を下げることはできません。データベースとRedisの部分は簡単ですが、AWSのjsonファイルでこれらの2つのサーバーを構築する方法を指定する方法を理解できません。

ご協力いただきまして誠にありがとうございます。

答えて

2

「AWSEBDockerrunVersion:2」にDockerfileからイメージを作成することはできません。 「AWSEBDockerrunVersion:1」を使用して、単一のDockerfileで1つのコンテナを設定することができます。

あなたの場合は、&プッシュイメージを自分で作成するか、CIサーバーで作成する必要があります。 Dockerrun.aws.json v2でイメージを定義します。 AWSのドキュメントから

参考 -

  • http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_v2config.html#create_deploy_docker_v2config_dockerrun

  • ドッカー画像 - Elastic Beanstalkでのための多容器ドッカープラットフォームが構築済みであることを、画像を必要とし、パブリックまたはプライベートオンラインに保存されていますイメージリポジトリ。 Elastic Beanstalk上のマルチコンテナDockerプラットフォームでは、Dockerfileを使用した配備中にカスタムイメージを構築することはできません。 Elastic Beanstalk環境を作成する前に、イメージをビルドしてオンラインリポジトリに展開してください。

+0

あまり説明があります。私はこれが可能であると理解していましたが、Dockerrun.aws.jsonはdocker-compose.ymlから100%書くことができると思いました。 迅速な対応をありがとうございます。 – c2programming

関連する問題