빌드 및 실행 이미지 구성

빌드팩은 빌드실행 이미지를 포함하여 서비스 빌드를 실행하는 데 필요한 모든 구성요소로 구성된 기본 빌더를 사용합니다.

  • 빌드 이미지: 빌더 이미지에서 빌드팩 수명 주기가 실행되는 빌드 환경을 만드는 데 사용됩니다. 여기에서 애플리케이션 또는 함수가 컨테이너화할 준비가 됩니다.
  • 실행 이미지: 서비스의 컨테이너 이미지가 빌드된 기본 이미지입니다. 이는 빌드된 애플리케이션 또는 함수를 호스팅하는 이미지입니다.

두 이미지 모두 필요에 맞게 맞춤설정하고 확장할 수 있습니다. 예를 들어 이미지를 맞춤설정하여 서비스 빌드에 필요한 패키지를 추가하거나 서비스가 실행될 때 사용 가능하도록 시스템 패키지를 설치할 수 있습니다.

시작하기 전에

pack CLI를 사용하여 서비스를 컨테이너 이미지에 로컬에서 빌드합니다.

시작하기 전에

  1. Docker Community Edition(CE)을 워크스테이션에 설치합니다. Docker는 pack에서 OCI 이미지 빌더로 사용됩니다.
  2. Pack CLI를 설치합니다.
  3. Git 소스 제어 도구를 설치하여 GitHub에서 샘플 애플리케이션을 가져옵니다.

빌드 및 실행 이미지 맞춤설정

빌드팩은 빌더 이미지를 사용하여 서비스를 컨테이너 이미지에 구성합니다. 빌드 프로세스가 완료되면 애플리케이션 또는 함수가 실행 이미지에 삽입됩니다. 빌드팩 개념에서 빌드 프로세스에 대해 자세히 알아보세요.

빌더 이미지 확장

기본 빌더 이미지를 맞춤설정하려면 다음 안내를 따르세요.

  1. 기본 빌더 이미지에서 커스텀 builder.Dockerfile을 만듭니다. 기본 이미지를 지원하는 빌더 버전의 태그를 지정해야 합니다. 예를 들어 :google-22 빌더 태그에서는 :v1 기본 이미지 태그가 지원되지 않습니다.

    예:

    FROM gcr.io/buildpacks/builder
    USER root
    RUN apt-get update && apt-get install -y --no-install-recommends \
      subversion && \
      apt-get clean && \
      rm -rf /var/lib/apt/lists/*
    USER cnb
    
  2. builder.Dockerfile 파일에서 커스텀 빌더 이미지를 빌드합니다.

    docker build -t BUILDER_IMAGE_NAME -f builder.Dockerfile .
    

    BUILDER_IMAGE_NAME을 커스텀 빌더 이미지에 선택한 이름으로 바꿉니다.

  3. 커스텀 빌더 이미지와 함께 pack build 명령어를 실행하여 애플리케이션 또는 함수의 새 컨테이너 이미지를 빌드합니다.

    pack build SERVICE_IMAGE_NAME --builder BUILDER_IMAGE_NAME
    

    다음과 같이 바꿉니다.

    • SERVICE_IMAGE_NAME을 애플리케이션 또는 함수 이미지에 선택한 이름으로 바꿉니다.
    • BUILDER_IMAGE_NAME을 커스텀 빌더 이미지의 이름으로 바꿉니다.

실행 이미지 확장

기본 실행 컨테이너 이미지를 맞춤설정하려면 다음 안내를 따르세요.

  1. 기본 실행 이미지에서 커스텀 run.Dockerfile을 만듭니다. 실행 이미지를 지원하는 빌더 버전의 태그를 지정해야 합니다. 예를 들어 :google-22 빌더 태그에서는 :v1 실행 이미지 태그가 지원되지 않습니다.

    예:

    FROM gcr.io/buildpacks/gcp/run
    USER root
    RUN apt-get update && apt-get install -y --no-install-recommends \
      imagemagick && \
      apt-get clean && \
      rm -rf /var/lib/apt/lists/*
    USER 33:33
    
  2. run.Dockerfile 파일에서 커스텀 실행 이미지를 빌드합니다.

    docker build -t RUN_IMAGE_NAME -f run.Dockerfile .
    

    RUN_IMAGE_NAME을 커스텀 실행 이미지에 선택한 이름으로 바꿉니다.

  3. 커스텀 실행 이미지와 함께 pack build 명령어를 실행하여 애플리케이션 또는 함수의 새 컨테이너 이미지를 빌드합니다.

    pack build SERVICE_IMAGE_NAME --builder gcr.io/buildpacks/builder:v1 --run-image RUN_IMAGE
    

    다음과 같이 바꿉니다.

    • SERVICE_IMAGE_NAME을 애플리케이션 또는 함수 이미지에 선택한 이름으로 바꿉니다.
    • RUN_IMAGE_NAME을 커스텀 실행 이미지의 이름으로 바꿉니다.