

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

# ステップ 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
   ```