

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 3단계: 애플리케이션 이미지를 생성하고 Amazon ECR 리포지토리에 Docker 파일을 업로드합니다.
<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를 바꾸고를 Amazon ECR 리포지토리`my-ecr-repository`가 위치한 리전 AWS 리전 으로 설정해야 합니다.

   ```
   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
   ```