View a markdown version of this page

컨테이너 이미지 빌드, 태그 지정 및 푸시 - 기한 클라우드

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

컨테이너 이미지 빌드, 태그 지정 및 푸시

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

사전 조건

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

이미지 빌드 및 푸시

컨테이너 이미지를 빌드하고 푸시하려면
  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}"
  2. Dockerfile이 포함된 디렉터리에서 이미지를 빌드합니다.

    docker build --platform linux/amd64 \ --tag "${REPOSITORY}:${IMAGE_TAG}" \ .
  3. 애플리케이션별 명령을 실행하여 이미지를 로컬에서 테스트합니다.

    docker run --rm "${REPOSITORY}:${IMAGE_TAG}" test-command
  4. 프라이빗 Amazon ECR 레지스트리Docker에 인증합니다.

    aws ecr get-login-password --region "${REGION}" | \ docker login --username AWS --password-stdin "${REGISTRY}"
  5. Amazon ECR 이미지 태그를 적용하고 이미지를 푸시합니다.

    docker tag "${REPOSITORY}:${IMAGE_TAG}" "${IMAGE_URI}" docker push "${IMAGE_URI}"
  6. 이미지 다이제스트를 검색하고 빌드 출력과 함께 기록합니다.

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

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