기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 이미지를 생성하고 Amazon ECR로 푸시
이 페이지에서는 로컬 Dockerfile을 생성하고, 컨테이너 이미지를 구축하고, 이미지를 Amazon Elastic Container Registry(Amazon ECR)에 추가하는 방법에 대한 지침을 제공합니다.
참고
다음 예시에서는 태그가 지정되지 않고 latest 태그가 기본적으로 적용됩니다. 태그를 지정하려면 이미지 이름 끝에 :를 추가해야 합니다. 자세한 내용은 Docker 설명서의 docker image tagtag
Dockerfile 생성 및 컨테이너 이미지 구축
다음 지침에 따라 원하는 소프트웨어 및 종속성을 사용하여 Dockerfile을 생성합니다.
Dockerfile을 생성하는 방법
-
먼저 다음 AWS CLI 명령에 대한 변수를 설정합니다.
LOCAL_IMAGE_NAME=local-image-name은 로컬 디바이스에 있는 컨테이너 이미지의 이름으로, 여기서 정의합니다.local-image-name -
사용자 지정 이미지 사양의 사양을 충족하는
Dockerfile이라는 텍스트 기반 문서를 생성합니다.지원되는 애플리케이션의
Dockerfile예시는 Dockerfile 샘플에서 확인할 수 있습니다.참고
자체 이미지를 SageMaker Unified Studio에 가져오는 경우 Amazon SageMaker Unified Studio 사용 설명서의 Dockerfile specifications을 따라야 합니다.
SageMaker Unified Studio의
Dockerfile예시는 Amazon SageMaker Unified Studio 사용 설명서의 Dockerfile example에서 확인할 수 있습니다. -
Dockerfile이 있는 디렉터리에서 다음 명령을 사용하여 Docker 이미지를 구축합니다. 마침표(.)는Dockerfile이 구축 명령의 컨텍스트에 있어야 함을 지정합니다.docker build -t ${LOCAL_IMAGE_NAME} .구축이 완료되면 다음 명령을 사용하여 컨테이너 이미지 정보를 나열할 수 있습니다.
docker images -
(선택 사항) 다음 명령을 사용하여 이미지를 테스트할 수 있습니다.
docker run -it ${LOCAL_IMAGE_NAME}출력에서 서버가
http://127.0.0.1:8888/...과 같은 URL에서 실행되고 있음을 확인할 수 있습니다. URL을 브라우저에 복사하여 이미지를 테스트할 수 있습니다.이렇게 해서 테스트되지 않으면 docker run 명령에
-p를 포함해야 할 수 있습니다. 이 옵션은 컨테이너에 있는 노출된 포트를 호스트 시스템에 있는 포트에 매핑합니다. docker run에 대한 자세한 내용은 Docker 설명서의 Running containersport:port를 참조하세요. 서버가 작동하는지 확인한 후 계속하기 전에 서버를 중지하고 모든 커널을 종료할 수 있습니다. 지침은 출력에서 볼 수 있습니다.
Amazon ECR에 Docker 이미지 추가
Amazon ECR에 컨테이너 이미지를 추가하려면 다음을 수행해야 합니다.
-
Amazon ECR 리포지토리를 생성합니다.
-
기본 레지스트리에 로그인합니다.
-
Amazon ECR 리포지토리에 이미지를 푸시합니다.
참고
Amazon ECR 리포지토리는 이미지를 연결하는 도메인 AWS 리전 과 동일한에 있어야 합니다.
컨테이너 이미지를 구축하고 Amazon ECR에 추가하는 방법
-
먼저 다음 AWS CLI 명령에 대한 변수를 설정합니다.
ACCOUNT_ID=account-idREGION=aws-regionECR_REPO_NAME=ecr-repository-name-
는 계정 ID입니다. 콘솔 AWS 페이지의 오른쪽 상단에서 찾을 수 있습니다. 예를 들어, SageMaker AI 콘솔account-id을 확인하세요. -
는 Amazon SageMaker AI 도메인 AWS 리전 의 입니다. 콘솔 AWS 페이지의 오른쪽 상단에서 찾을 수 있습니다.aws-region -
은 여기에서 정의하는 Amazon Elastic Container Registry 리포지토리의 이름입니다. Amazon ECR 리포지토리를 보려면 Amazon ECR 콘솔ecr-repository-name을 참조하세요.
-
-
Amazon ECR에 로그인하고 Docker에 로그인합니다.
aws ecr get-login-password \ --region ${REGION} | \ docker login \ --username AWS \ --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com인증에 성공하면 로그인 성공 메시지가 표시됩니다.
중요
오류가 발생하면 최신 버전의 AWS CLI를 설치하거나 최신 버전으로 업그레이드해야 할 수 있습니다. 자세한 내용은 AWS Command Line Interface 사용자 가이드에서 AWS Command Line Interface설치를 참조하세요.
-
Amazon ECR과 호환되는 형식으로 이미지에 태그를 지정하여 리포지토리로 푸시합니다.
docker tag \ ${LOCAL_IMAGE_NAME} \ ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME} -
AWS CLI을 사용하여 Amazon ECR 리포지토리를 생성합니다. Amazon ECR 콘솔을 사용하여 리포지토리를 생성하려면 Creating an Amazon ECR private repository to store images를 참조하세요.
aws ecr create-repository \ --region ${REGION} \ --repository-name ${ECR_REPO_NAME} -
이미지를 Amazon ECR 리포지토리에 푸시합니다. Docker 이미지에 태그를 지정할 수도 있습니다.
docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
이미지가 Amazon ECR 리포지토리에 성공적으로 추가되면 Amazon ECR 콘솔