事前設定済み Docker コンテナ (Amazon Linux AMI) - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

事前設定済み Docker コンテナ (Amazon Linux AMI)

注記

2022 年 7 月 18 日、Elastic Beanstalk では Amazon Linux AMI (AL1) に基づくプラットフォームブランチのステータスがすべて廃止されます。現在および完全にサポートされている Amazon Linux 2023 プラットフォームブランチへの移行の詳細については、「Elastic Beanstalk Linux アプリケーションを Amazon Linux 2023 または Amazon Linux 2 に移行する」を参照してください。

Amazon Linux AMI (AL1) で動作する、事前設定済みの Docker GlassFish プラットフォームブランチは、サポートされなくなりました。GlassFish アプリケーションをサポートされている Amazon Linux 2023 に移行するには、GlassFish とアプリケーションコードを Amazon Linux 2023 Docker イメージにデプロイします。詳細については、次の「Docker プラットフォームへの GlassFish アプリケーションのデプロイ: Amazon Linux 2023 への移行パス」トピックを参照してください。

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

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

このチュートリアルでは、GlassFish アプリケーション例を使用します。

使用する環境をセットアップするには
  1. アプリケーション例用の新しいフォルダーを作成します。

    ~$ mkdir eb-preconf-example ~$ cd eb-preconf-example
  2. アプリケーション例のコードを新しいフォルダにダウンロードします。

    ~$ wget https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/samples/docker-glassfish-v1.zip ~$ unzip docker-glassfish-v1.zip ~$ rm docker-glassfish-v1.zip

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

GlassFish アプリケーション例を開発するには
  1. Dockerfile をアプリケーションのルートフォルダに追加します。ファイルには、事前設定されたローカルの Docker コンテナを実行するために使用する AWS Elastic Beanstalk Docker ベースイメージを指定します。後で、アプリケーションを Elastic Beanstalk の事前設定された Docker GlassFish プラットフォームバージョンにデプロイします。このプラットフォームバージョンが使用する Docker ベースイメージを選択します。プラットフォームバージョンの現在の Docker イメージを検出するには、「AWS Elastic Beanstalk プラットフォーム」ガイドの「AWS Elastic Beanstalk でサポートされるプラットフォーム」ページにある「事前設定済み Docker コンテナ」セクションを参照してください。

    例 ~/Eb-preconf-example/Dockerfile
    # For Glassfish 5.0 Java 8 FROM amazon/aws-eb-glassfish:5.0-al-onbuild-2.11.1

    Dockerfile の使用方法の詳細については、「Docker の設定」を参照してください。

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

    ~/eb-preconf-example$ 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
    
                ウェブブラウザで表示される GlassFish アプリケーション例

Elastic Beanstalk にデプロイします

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

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

    注記

    プラットフォームバージョンのベースの Docker イメージを変更する命令が Dockerfile に含まれている場合、このステップを行う必要はありません。Dockerfile に、コンテナの構築に使用するベースイメージを指定する Dockerfile 行のみが含まれている場合、FROM を使用する必要は一切ありません。この場合、その Dockerfile は重複しています。

  2. アプリケーションソースバンドルを作成します。

    ~/eb-preconf-example$ zip myapp.zip -r *
  3. 事前に設定されたリンク: console.aws.amazon.com/elasticbeanstalk/home#/newApplication?applicationName=tutorials&environmentType=LoadBalanced を使用して、Elastic Beanstalk コンソールを開きます。

  4. [Platform (プラットフォーム)] の [Preconfigured – Docker (事前設定 Docker)] で、[Glassfish] を選択します。

  5. [Application code] では、[Upload your code] を選択して、[Upload] を選択します。

  6. [Local file (ローカルファイル)]、[Browse (参照)] の順に選択したら、先ほど作成したアプリケーションソースバンドルを開きます。

  7. [アップロード] を選択します。

  8. 確認と起動 を選択します。

  9. 使用できる設定を確認し、アプリの作成 を選択します。

  10. 環境が作成されると、デプロイされたアプリケーションを表示できます。コンソールダッシュボードの上部に表示される環境 URL を選択します。