

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

# 컨테이너 이미지 빌드, 태그 지정 및 푸시
<a name="containers-build-push"></a>

플릿에서 사용하는 프로세서 아키텍처의 이미지를 빌드합니다. Docker 소프트웨어 추가 기능이 있는 Linux 서비스 관리형 플릿은 `linux/amd64` 플랫폼을 사용합니다. 각 이미지 버전에 애플리케이션 버전 또는 소스 개정과 같이 콘텐츠를 식별하는 태그를 지정합니다.

## 사전 조건
<a name="containers-build-prerequisites"></a>

워크스테이션 AWS CLI 에 Docker 및를 설치합니다. Amazon ECR 프라이빗 리포지토리를 생성하고 이미지를 해당 리포지토리로 푸시할 수 있는 권한을 사용하여 AWS 자격 증명을 구성합니다.

## 이미지 빌드 및 푸시
<a name="containers-build-procedure"></a>

**컨테이너 이미지를 빌드하고 푸시하려면**

1.  AWS 계정, 리전, 리포지토리 및 이미지 태그의 값을 설정합니다.

   ```
   REGION={{us-west-2}}
   ACCOUNT_ID={{123456789012}}
   REPOSITORY={{portable-job}}
   IMAGE_TAG={{1.0.0}}
   REGISTRY="${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com"
   IMAGE_URI="${REGISTRY}/${REPOSITORY}:${IMAGE_TAG}"
   ```

1. Dockerfile이 포함된 디렉터리에서 이미지를 빌드합니다.

   ```
   docker build --platform linux/amd64 \
       --tag "${REPOSITORY}:${IMAGE_TAG}" \
       .
   ```

1. 애플리케이션별 명령을 실행하여 이미지를 로컬에서 테스트합니다.

   ```
   docker run --rm "${REPOSITORY}:${IMAGE_TAG}" {{test-command}}
   ```

1. 프라이빗 Amazon ECR 레지스트리Docker에 인증합니다.

   ```
   aws ecr get-login-password --region "${REGION}" | \
       docker login --username AWS --password-stdin "${REGISTRY}"
   ```

1. Amazon ECR 이미지 태그를 적용하고 이미지를 푸시합니다.

   ```
   docker tag "${REPOSITORY}:${IMAGE_TAG}" "${IMAGE_URI}"
   docker push "${IMAGE_URI}"
   ```

1. 이미지 다이제스트를 검색하고 빌드 출력과 함께 기록합니다.

   ```
   aws ecr describe-images \
       --region "${REGION}" \
       --repository-name "${REPOSITORY}" \
       --image-ids imageTag="${IMAGE_TAG}" \
       --query 'imageDetails[0].imageDigest' \
       --output text
   ```

반복 가능한 작업에 고정 버전 태그 또는 이미지 다이제스트를 사용합니다. 와 같은 변경 가능한 태그는 세션 간에 서로 다른 이미지 콘텐츠를 확인할 `latest` 수 있습니다.