리포지토리 생성 - Amazon ECR

리포지토리 생성

도커 이미지를 Amazon ECR에 푸시하려면 먼저 이를 저장할 리포지토리를 생성해야 합니다. AWS Management 콘솔 또는 AWS CLI 및 AWS SDK를 사용하여 Amazon ECR 리포지토리를 만들 수 있습니다.

리포지토리를 만들려면

  1. https://console.aws.amazon.com/ecr/repositories에서 Amazon ECR 콘솔을 엽니다.

  2. 탐색 모음에서 리포지토리를 생성할 리전을 선택합니다.

  3. 탐색 창에서 Repositories를 선택합니다.

  4. Repositories 페이지에서 Create repository를 선택합니다.

  5. Repository name(리포지토리 이름)에 리포지토리의 고유한 이름을 입력합니다.

  6. Tag immutability(태그 변경 불가능)에서 리포지토리의 태그 변경 가능 설정을 선택합니다. 변경 불가능 태그로 구성된 리포지토리는 이미지 태그를 덮어쓰는 걸 방지해 줍니다. 자세한 내용은 이미지 태그 변경 가능성 단원을 참조하십시오.

  7. Scan on push(푸시 시 스캔)에서 저장소의 이미지 스캔 설정을 선택합니다. 푸시할 때 스캔하도록 구성된 리포지토리는 이미지가 푸시될 때마다 이미지 스캔을 시작합니다. 이렇게 구성되지 않았다면 이미지 스캔을 수동으로 시작해야 합니다. 자세한 내용은 이미지 스캔 단원을 참조하십시오.

  8. [Create repository]를 선택합니다.

  9. (선택 사항) 생성한 리포지토리를 선택하고 푸시 명령 보기를 선택하여 새 리포지토리에 푸시하는 단계를 봅니다.

    1. 콘솔에서 터미널 창으로 aws ecr get-login 명령을 붙여 넣어 레지스트리에 대해 Docker 클라이언트를 인증하는 데 사용할 수 있는 docker login 명령을 검색합니다.

      참고

      get-login 명령은 버전 1.9.15부터 AWS CLI에서 사용할 수 있습니다. 하지만 최신 버전의 도커(17.06 이상)의 경우에는 버전 1.11.91 이상을 권장합니다. AWS CLI 버전은 aws --version 명령을 통해 확인할 수 있습니다. 도커 버전 17.06 이상을 사용하는 경우 get-login 뒤에 --no-include-email 옵션을 포함합니다. Unknown options: --no-include-email 오류가 발생하는 경우 최신 버전의 AWS CLI를 설치합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서AWS 명령줄 인터페이스 설치를 참조하십시오.

    2. 이전 단계에서 반환된 docker login 명령을 실행합니다. 이 명령은 12시간 동안 유효한 인증 토큰을 제공합니다.

      중요

      docker login 명령을 실행할 때 시스템의 다른 사용자가 프로세스 목록(ps -e) 디스플레이에서 해당 명령 문자열을 볼 수 있습니다. docker login 명령에는 인증 자격 증명이 포함되므로, 시스템의 다른 사용자가 이러한 방식으로 이 자격 증명을 볼 수 있는 위험이 있습니다. 또한 다른 사용자가 이 자격 증명을 사용하여 리포지토리에 대한 푸시 및 풀 액세스 권한을 얻을 수 있습니다. 안전한 시스템이 아닐 경우 이 위험을 고려하여 -p password 옵션을 생략하고 요청 시 암호를 입력하는 대화형 방식으로 로그인해야 합니다.

    3. (선택 사항) 푸시할 이미지의 Dockerfile이 있는 경우 이미지를 빌드하고 새 리포지토리용으로 태그를 지정합니다. 콘솔에서 docker build 명령을 복사하여 터미널 창에 붙여 넣습니다. Dockerfile과 동일한 디렉터리에 있어야 합니다.

    4. docker tag 명령을 콘솔에서 터미널 창으로 붙여 넣어 ECR 레지스트리 및 새 리포지토리에 대해 이미지를 태그 지정합니다. 콘솔 명령은 이미지가 이전 단계의 Dockerfile에서 빌드되었다고 가정합니다. Dockerfile에서 이미지를 빌드하지 않은 경우 푸시할 로컬 이미지의 이미지 ID 또는 이미지 이름으로 repository:latest의 첫 번째 인스턴스를 바꾸십시오.

    5. docker push 명령을 터미널 창으로 붙여 넣어 새로 태그 지정된 이미지를 ECR 리포지토리로 푸시합니다.

    6. 닫기를 선택합니다.