CloudShell Docker 컨테이너를 빌드하고 Amazon ECR리포지토리로 푸시 - AWS CloudShell

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

CloudShell Docker 컨테이너를 빌드하고 Amazon ECR리포지토리로 푸시

이 자습서에서는 에서 Docker 컨테이너를 정의 및 빌드 AWS CloudShell 하고 Amazon ECR리포지토리로 푸시하는 방법을 보여줍니다.

사전 조건

  • Amazon ECR리포지토리를 생성하고 푸시하는 데 필요한 권한이 있어야 합니다. Amazon 의 리포지토리에 대한 자세한 내용은 Amazon 사용 설명서의 Amazon ECR 프라이빗 리포지토리를 ECR참조하세요. ECR Amazon 를 사용하여 이미지를 푸시하는 데 필요한 권한에 대한 자세한 내용은 Amazon ECR 사용 설명서의 이미지 푸시에 필요한 권한을 ECR참조하세요. IAM

자습서 절차

다음 자습서에서는 CloudShell 인터페이스를 사용하여 Docker 컨테이너를 빌드하고 Amazon ECR리포지토리로 푸시하는 방법을 간략하게 설명합니다.

  1. 홈 디렉터리에 새 폴더를 생성합니다.

    mkdir ~/docker-cli-tutorial
  2. 생성한 폴더로 이동합니다.

    cd ~/docker-cli-tutorial
  3. 빈 Dockerfile을 생성합니다.

    touch Dockerfile
  4. 예를 들어 와 같은 텍스트 편집기를 사용하여 파일을 nano Dockerfile열고 다음 콘텐츠를 붙여 넣습니다.

    # Dockerfile # Base this container on the latest Amazon Linux version FROM public.ecr.aws/amazonlinux/amazonlinux:latest # Install the cowsay binary RUN dnf install --assumeyes cowsay # Default entrypoint binary ENTRYPOINT [ "cowsay" ] # Default argument for the cowsay entrypoint CMD [ "Hello, World!" ]
  5. 이제 Dockerfile을 빌드할 준비가 되었습니다. 를 실행하여 컨테이너를 빌드합니다docker build. 컨테이너에 향후 명령에 사용할 easy-to-type 이름을 지정합니다.

    docker build --tag test-container .

    후행 기간()을 포함해야 합니다..

    내부에서 실행되는 도커 빌드 명령의 이미지입니다 AWS CloudShell.
  6. 이제 컨테이너를 테스트하여 에서 올바르게 실행되고 있는지 확인할 수 있습니다 AWS CloudShell.

    docker container run test-container
    내부의 도커 컨테이너 실행 명령 이미지 AWS CloudShell
  7. 이제 Docker 컨테이너가 작동하므로 Amazon ECR리포지토리로 푸시해야 합니다. 기존 Amazon ECR리포지토리가 있는 경우 이 단계를 건너뛸 수 있습니다.

    다음 명령을 실행하여 이 자습서에 대한 Amazon ECR리포지토리를 생성합니다.

    ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
    내부 Amazon ECR리포지토리를 생성하는 데 사용되는 명령의 이미지 AWS CloudShell
  8. Amazon ECR리포지토리를 생성한 후 Docker 컨테이너를 푸시할 수 있습니다.

    다음 명령을 실행하여 Docker에 대한 Amazon ECR 로그인 보안 인증을 가져옵니다.

    AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text) ECR_URL=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_URL}
    Docker에 대한 Amazon ECR 로그인 자격 증명을 가져오는 데 사용되는 명령의 이미지입니다.
    참고

    AWS_REGION 환경 변수가 에 설정되지 CloudShell 않았거나 다른 의 리소스와 상호 작용하려는 경우 다음 명령을 AWS 리전실행합니다.

    AWS_REGION=<your-desired-region>
  9. 대상 Amazon ECR리포지토리로 이미지에 태그를 지정한 다음 해당 리포지토리로 푸시합니다.

    docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
    대상 Amazon ECR리포지토리로 이미지에 태그를 지정하는 데 사용되는 명령의 이미지입니다.

    이 자습서를 완료하려고 할 때 오류가 발생하거나 문제가 발생하면 이 가이드의 문제 해결 섹션을 참조하세요.

정리

이제 Amazon ECR리포지토리에 Docker 컨테이너를 성공적으로 배포했습니다. 이 자습서에서 생성한 파일을 AWS CloudShell 환경에서 제거하려면 다음 명령을 실행합니다.

  • cd ~ rm -rf ~/docker-cli-tutorial
  • Amazon ECR리포지토리를 삭제합니다.

    aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}