

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

# ステップ 3: アプリケーションイメージを作成し、Docker ファイルを Amazon ECR リポジトリにアップロードする
<a name="EKS-tutorial-step3"></a>

このステップでは、サンプルアプリケーションをコンパイルし、Docker イメージを構築して、そのイメージを Amazon ECR リポジトリにプッシュします。

**アプリケーションを構築し、Docker イメージを構築して Amazon Elastic Container Registry に送信する**

1. ビルドの AWS リージョンを定義する環境変数を設定します。以降の例のリージョンは、実際のリージョンに置き換えてください。

   ```
   export CASSANDRA_HOST=cassandra.{{us-east-1}}.amazonaws.com:9142
   export CASSANDRA_DC={{us-east-1}}
   ```

1. 次のコマンドを使用して、アプリケーションを Apache Maven バージョン 3.6.3 以降でコンパイルします。

   ```
   mvn clean install
   ```

   すべての依存関係を `target` ディレクトリに収録した `JAR` ファイルが作成されます。

1. 次のコマンドを使用して、次の手順で必要になる ECR リポジトリ URI を取得します。リージョンは、実際のリージョンに置き換えてください。

   ```
   aws ecr describe-repositories --region {{us-east-1}}
   ```

   出力は次の例のようになります。

   ```
   "repositories": [
    {
    "repositoryArn": "arn:aws:ecr:us-east-1:111122223333:repository/my-ecr-repository",
    "registryId": "111122223333",
    "repositoryName": "my-ecr-repository",
    "repositoryUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/my-ecr-repository",
    "createdAt": "2023-11-02T03:46:34+00:00",
    "imageTagMutability": "MUTABLE",
    "imageScanningConfiguration": {
    "scanOnPush": false
    },
    "encryptionConfiguration": {
    "encryptionType": "AES256"
    }
    },
   ```

1. アプリケーションのルートディレクトリから、直前の手順で取得したリポジトリ URI を使用して Docker イメージを構築します。必要に応じて Docker ファイルを変更してください。ビルドコマンドで、アカウント ID を置き換え、 AWS リージョン を Amazon ECR リポジトリがあるリージョンに設定します`my-ecr-repository`。

   ```
   docker build -t {{111122223333}}.dkr.ecr.{{us-east-1}}.amazonaws.com/{{my-ecr-repository}}:latest .
   ```

1. 認証トークンを取得して、Docker イメージを Amazon ECR にプッシュします。それには、次のコマンドを使用します。

   ```
   aws ecr get-login-password --region {{us-east-1}} | docker login --username AWS --password-stdin {{111122223333}}.dkr.ecr.{{us-east-1}}.amazonaws.com
   ```

1. まず、Amazon ECR リポジトリ内の既存のイメージを確認します。以下のコマンドを使用できます。

   ```
   aws ecr describe-images --repository-name {{my-ecr-repository}} --region {{us-east-1}}
   ```

   次に、Docker イメージをリポジトリにプッシュします。以下のコマンドを使用できます。

   ```
   docker push {{111122223333}}.dkr.ecr.{{us-east-1}}.amazonaws.com/{{my-ecr-repository}}:latest
   ```