기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CodeBuild용 Docker 이미지 빌드 서버 샘플
다음 샘플은 Docker 빌드를 관리형 이미지 빌드 서버로 오프로드합니다. 이 샘플을 조정하여 CodeBuild 프로젝트 구성에서 전용 관리형 Docker 이미지 빌드 서버를 프로비저닝할 수 있습니다. 프로젝트에 대해 빌드가 적극적으로 실행되는 동안 프로비저닝된 인스턴스가 활성화되고 빌드가 실행되지 않으면 인스턴스가 중지됩니다. 프로비저닝된 인스턴스는 재활용되기 전에 최대 1개월 동안 저장됩니다. 자세한 내용은 CodeBuild Docker Server 기능을 참조하세요
중요
이 샘플을 실행하면 AWS 계정에 요금이 부과될 수 있습니다. 여기에는 CodeBuild와 Amazon S3 및 CloudWatch Logs와 관련된 AWS 리소스 AWS KMS및 작업에 대해 발생할 수 있는 요금이 포함됩니다. 자세한 내용은 CodeBuild 요금
Docker 서버 구성
다음 절차에 따라 Docker 워크로드를 관리하고 Docker 이미지 계층을 저장하는 CodeBuild 프로젝트에 전용 컴퓨팅 환경을 프로비저닝합니다.
Docker 서버를 구성하려면
-
이 주제의 디렉터리 구조 및 파일 섹션에 설명된 대로 파일을 생성한 다음 S3 입력 버킷 또는 AWS CodeCommit, GitHub 또는 Bitbucket 리포지토리에 업로드합니다.
중요
은 업로드하지 말고,(root directory name)
안에 있는 파일만 업로드하십시오.(root directory name)
S3 입력 버킷을 사용하고 있는 경우, 파일을 포함하는 ZIP 파일을 생성한 다음, 이를 입력 버킷에 업로드하십시오.
을 ZIP 파일에 추가하지 말고,(root directory name)
안에 있는 파일만 추가하십시오.(root directory name)
-
빌드 프로젝트를 생성하고, 빌드를 실행하고, 관련 빌드 정보를 봅니다.
-
콘솔의 환경 섹션에서 추가 구성을 선택하고 Docker 서버 구성으로 이동한 다음 이 프로젝트에 대해 Docker 서버 활성화를 선택합니다. 그런 다음 Docker 서버 컴퓨팅 유형을 선택하고 레지스트리 자격 증명을 제공할 수 있습니다.
-
AWS CLI 를 사용하여 빌드 프로젝트를 생성하는 경우
create-project
명령에 대한 JSON 형식의 입력은 이와 비슷할 수 있습니다. (자리 표시자는 사용자의 값으로 바꾸십시오.){ "name": "sample-docker-custom-image-project", "source": { "type": "S3", "location": "codebuild-
region-ID
-account-ID
-input-bucket/DockerServerSample
.zip" }, "artifacts": { "type": "NO_ARTIFACTS" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/amazonlinux-x86_64-standard:5.0", "computeType": "BUILD_GENERAL1_LARGE", "dockerServer": [ { "computeType": "BUILD_GENERAL1_LARGE", "securityGroupIds": [ "security-groups-ID
" ] } ] }, "serviceRole": "arn:aws:iam::account-ID
:role/role-name
" }참고
Docker 서버에 대해 구성된 보안 그룹은 프로젝트에 구성된 VPC의 수신 네트워크 트래픽을 허용해야 합니다. 포트 9876에서 수신을 허용해야 합니다.
-
-
빌드 결과를 확인하려면 빌드 로그에서
Hello, World!
문자열에 대해 찾아보십시오. 자세한 내용은 빌드 세부 정보 보기 단원을 참조하십시오.
디렉터리 구조
이 샘플에서는 다음 디렉터리 구조를 가정합니다.
(root directory name)
├── buildspec.yml
└── Dockerfile
파일
이 샘플에 사용되는 운영 체제의 기본 이미지는 Ubuntu입니다. 샘플은 이러한 파일을 사용합니다.
buildspec.yml
(
에 있음)(root directory
name)
version: 0.2 phases: build: commands: - docker buildx build . - docker run helloworld echo "Hello, World!"
Dockerfile
(
에 있음)(root directory
name)
FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN echo "Hello World"