기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon의 프라이빗 레지스트리 인증 ECR
AWS Management Console, AWS CLI또는 AWS SDKs를 사용하여 프라이빗 리포지토리를 생성하고 관리할 수 있습니다. 이러한 방법을 사용하여 이미지에 대해 목록 조회 또는 삭제 같은 일부 작업을 수행할 수도 있습니다. 이러한 클라이언트는 표준 AWS 인증 방법을 사용합니다. Amazon을 사용하여 이미지를 ECR API 푸시하고 가져올 수 있지만 Docker CLI 또는 언어별 Docker 라이브러리를 사용할 가능성이 더 높습니다.
Docker는 기본 IAM 인증 방법을 지원하지 CLI 않습니다. Amazon이 Docker 푸시 및 풀 요청을 인증하고 승인할 ECR 수 있도록 추가 단계를 수행해야 합니다.
다음에 세부적으로 설명된 레지스트리 인증 방법을 사용할 수 있습니다.
Amazon ECR 자격 증명 헬퍼 사용
Amazon은 이미지를 Amazon 로 푸시하고 가져올 때 Docker 자격 증명을 더 쉽게 저장하고 사용할 수 있는 Docker 자격 증명 도우미를 ECR 제공합니다ECR. 설치 및 구성 단계는 Amazon ECR Docker 자격 증명 도우미를 참조하세요
참고
Amazon ECR Docker 자격 증명 헬퍼는 현재 다중 인증(MFA)을 지원하지 않습니다.
권한 부여 토큰 사용
권한 부여 토큰의 권한 범위는 권한 부여 토큰을 검색하는 데 사용된 IAM 보안 주체의 권한 범위와 일치합니다. 인증 토큰은 IAM 보안 주체가 액세스할 수 있고 12시간 동안 유효한 모든 Amazon ECR 레지스트리에 액세스하는 데 사용됩니다. 권한 부여 토큰을 얻으려면 GetAuthorizationToken API 작업을 사용하여 사용자 이름과 인코딩된 암호가 포함된 base64 인코딩된 권한 부여 토큰AWS
을 검색해야 합니다. 이 get-login-password
명령은 AWS CLI 인증 토큰을 검색하고 디코딩하여 이를 간소화합니다. 그러면이 토큰을 인증 docker login 명령으로 파이프할 수 있습니다.
get-login을 사용하여 Amazon ECR 프라이빗 레지스트리에 Docker를 인증하려면
를 사용하여 Amazon ECR 레지스트리에 Docker를 인증하려면 aws ecr get-login-password 명령을 get-login-password실행합니다. 인증 토큰을 docker login 명령에 전달할 때
AWS
사용자 이름의 값을 사용하고 인증URI하려는 Amazon ECR 레지스트리를 지정합니다. 여러 레지스트리에 대해 인증하는 경우 각 레지스트리에 대해 명령을 반복해야 합니다.중요
오류가 발생하면 최신 버전의 AWS CLI를 설치하거나 업그레이드합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서에서 AWS Command Line Interface설치를 참조하세요.
-
get-login-password (AWS CLI)
aws ecr get-login-password --region
region
| docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com -
Get-ECRLoginCommand(AWS Tools for Windows PowerShell)
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin
.dkr.ecr.aws_account_id
region
.amazonaws.com
-
HTTP API 인증 사용
Amazon은 Docker 레지스트리 HTTP API-H
옵션을 사용하여 HTTP 권한 부여 헤더를 추가curl하고 get-authorization-token AWS CLI 명령에서 제공하는 권한 부여 토큰을 전달할 수 있습니다.
Amazon으로 인증하려면 ECR HTTP API
-
를 사용하여 권한 부여 토큰을 검색 AWS CLI 하고 환경 변수로 설정합니다.
TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken')
-
에 인증하려면
$TOKEN
변수를의-H
옵션에 API전달합니다curl. 예를 들어 다음 명령은 Amazon ECR리포지토리의 이미지 태그를 나열합니다. 자세한 내용은 Docker 레지스트리 HTTP API참조 설명서를 참조하세요. curl -i -H "Authorization: Basic $TOKEN" https://
aws_account_id
.dkr.ecr.region
.amazonaws.com/v2/amazonlinux
/tags/list출력값은 다음과 같습니다.
HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Date: Thu, 04 Jan 2018 16:06:59 GMT Docker-Distribution-Api-Version: registry/2.0 Content-Length: 50 Connection: keep-alive {"name":"amazonlinux","tags":["2017.09","latest"]}