メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

事前設定された Docker コンテナの使用を開始する

このセクションでは、事前設定された Docker コンテナを使用して、サンプルアプリケーションをローカルで開発し、そのアプリケーションを Elastic Beanstalk にデプロイする方法について説明します。

ローカルの開発環境のセットアップ

このウォークスルーでは、Python Flask の "Hello World" アプリケーションを使用します。

開発環境をセットアップするには

  1. サンプルアプリケーション用の新しいフォルダーを作成します。

    ~$ mkdir eb-flask-sample
    ~$ cd eb-flask-sample
  2. アプリケーションのルートフォルダーに、application.py ファイルを作成します。ファイルには、次のように入力してください。

    例 ~/eb-flask-sample/application.py

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()
  3. アプリケーションのルートフォルダーに、requirements.txt ファイルを作成します。ファイルには、次のように入力してください。

    例 ~/eb-flask-sample/requirements.txt

    flask

ローカル環境での開発とテスト

サンプルの Python Flask アプリケーションを開発するには

  1. Dockerfile をアプリケーションのルートフォルダーに追加します。ファイルには、事前設定されたローカルの Docker コンテナを実行するために使用される AWS Elastic Beanstalk Docker ベースイメージを指定します。また、このイメージに基づいて、Elastic Beanstalk では Dockerfile に関する後続の手順を実行します。次のように入力してください。

    例 ~/eb-flask-sample/Dockerfile

    # For Python 3.4
    FROM amazon/aws-eb-python:3.4.2-onbuild-3.5.1

    AWS Elastic Beanstalk では、Glassfish 4.1 Java 8 および Glassfish 4.0 Java 7 用の Docker イメージもサポートしています。Docker イメージの名前については、「Elastic Beanstalk でサポートされているプラットフォーム」を参照してください。Dockerfile の使用方法の詳細については、「単一コンテナの Docker の設定」を参照してください。

  2. Docker イメージを作成します。

    ~/eb-flask-sample$ docker build -t my-app-image .
  3. イメージから Docker コンテナを実行します。

    注記

    コンテナのポート 8080 をローカルホストのポート 3000 にマッピングする -p フラグを指定する必要があります。Elastic Beanstalk Docker コンテナでは、常にコンテナのポート 8080 でアプリケーションを公開します。-it フラグは、イメージをインタラクティブプロセスとして実行します。-rm フラグは、コンテナが存在する場合にコンテナファイルシステムをクリーンアップします。オプションで、イメージをデーモンとして実行するための -d フラグも指定できます。

    $ docker run -it --rm -p 3000:8080 my-app-image
  4. サンプルアプリケーションを表示するには、次の URL をウェブブラウザに入力します。

    http://localhost:3000

Elastic Beanstalk へのデプロイ

アプリケーションをテストすると、Elastic Beanstalk にデプロイする準備が完了します。

アプリケーションを Elastic Beanstalk にデプロイするには

  1. アプリケーションのルートフォルダで、DockerfileDockerfile.local に名前変更します。このステップは、Elastic Beanstalk に対する正しい指示を含んだ Dockerfile を Elastic Beanstalk で使用し、カスタマイズされた Docker イメージを Elastic Beanstalk 環境の各 Amazon EC2 インスタンスに作成するために必要なステップです。

  2. アプリケーションソースバンドルを作成します。詳細については、「アプリケーションソースバンドルを作成する」を参照してください。

  3. 新しい Elastic Beanstalk アプリケーションを作成して、アプリケーションをデプロイできるようにするには、「AWS Elastic Beanstalk アプリケーションの管理および設定」を参照してください。該当するステップで、[Environment Type] ページの [Predefined configuration] リストにある、[Preconfigured - Docker] の下の [Python] をクリックします。