Custom Image
    • PDF

    Custom Image

    • PDF

    기사 요약

    사용자 이미지 기반에서 액션을 생성하고 실행할 수 있습니다. 기본 제공되는 런타임에 라이브러리 및 이미지 레이어를 추가할 수 있고 여러 액션에서 공통으로 사용하는 설정을 공통된 이미지로 구성하여 사용할 수 있습니다.

    참고
    • 이미지 Pull 시간은 액션 실행 시간에 포함되지 않습니다.
    • linux/amd64 이미지만 지원합니다.

    Dockerfile 생성

    Dockerfile 생성 시, 다음의 사항들이 필수적으로 포함되어야 하며, 포함되지 않으면 액션이 정상적으로 동작하지 않습니다.

    1. FROM에 Cloud Functions에서 제공하는 Base 이미지 사용
    2. Base 이미지와 동일한 WORKDIR 설정
    3. Base 이미지와 동일한 ENTRYPOINT 또는 CMD 설정

    런타임별 Base 이미지

    런타임이미지 경로WORKDIRENTRYPOINTCMDBase OS
    python:3.7cloudfunctions.kr.ncr.ntruss.com/cloudfunctions-python-3.7:[TAG]/["/bin/proxy"]-Rocky Linux 8.7
    nodejs:16cloudfunctions.kr.ncr.ntruss.com/cloudfunctions-nodejs-16:[TAG]/nodejsAction-node --expose-gc app.jsRocky Linux 8.7

    이미지 Build/Push

    작성한 Dockerfile로 이미지를 빌드하고 NAVER Cloud Container Registry에 이미지를 Push 합니다.
    이미지는 Container Registry 경로가 포함되어야 합니다.

    이미지 Build

    docker build . -t <이미지>
    

    이미지 Push

    Container Registry에 이미지를 Push 하기 위해서는 Container Registry에 로그인해야 합니다. 자세한 내용은 Container Registry 사용 가이드를 참조해 주세요.

    docker login -u <NCLOUD_ACCESS_KEY> <레지스트리 이름>.ncr.fin-ntruss.com
    
    Password: <NCLOUD_SECRET_KEY>
    
    docker push <이미지>
    

    예제

    • Dockerfile
    FROM cloudfunctions.kr.ncr.ntruss.com/cloudfunctions-python-3.7:latest
    
    # 필요 라이브러리 설치
    RUN dnf -y update && dnf -y install httpd
    RUN pip install boto3
    
    WORKDIR /
    
    ENTRYPOINT ["/bin/proxy"]
    
    • Build
    docker build . -t my-registry.ncr.fin-ntruss.com/custom-python:1.0.0
    
    • Push
    docker login -u *** my-registry.ncr.fin-ntruss.com
    password: ****
    
    docker push my-registry.ncr.fin-ntruss.com/custom-python:1.0.0
    

    Custom Image 액션 생성

    Custom Image 액션을 생성하기 위해서는 런타임에서 custom image를 선택합니다.
    Container Registry 이미지 선택에서 NAVER Cloud Container Registry에 있는 이미지를 선택하거나 사용할 이미지의 경로를 직접 입력할 수 있습니다.

    주의
    • 액션에서 설정한 이미지가 Overwrite 되어도 기존 액션에는 반영되지 않습니다. 액션 수정에서 이미지를 다시 선택하고 저장해야 새로운 이미지가 적용됩니다.
    • 액션에서 설정한 이미지가 삭제될 경우, 정상적으로 액션 실행이 동작하지 않을 수 있습니다.

    cloudfunctions-example-customimages_01.png

    Container Registry 이미지 선택

    다음 절차에 따라 사용할 이미지를 선택합니다.
    [완료] 버튼을 클릭하면 사용 가능한 이미지인지 자동으로 검증되며, 압축 크기가 800MB를 초과하는 이미지는 사용할 수 없습니다.

    • 레지스트리 선택
      cloudfunctions-example-customimages_02.png

    • 이미지 선택
      cloudfunctions-example-customimages_03.png

    • 태그 선택
      cloudfunctions-example-customimages_04.png

    Container Registry 이미지 경로 입력

    사용할 이미지의 경로를 직접 입력할 수 있습니다. 이미지 경로는 형식은 '<레지스트리>/<이미지>:<태그>'입니다. 태그 생략 시, latest가 자동 입력됩니다.

    경로 검증

    입력한 경로의 이미지가 사용 가능한지 검증합니다. 검증 조건은 아래와 같습니다.

    • 이미지의 압축 크기 800MB 이하
    • Cloud Functions에서 제공하는 Base 이미지 사용

    이미지 Packs

    Cloud Functions에서는 아래와 같은 특화된 이미지를 제공하며 Custom Image 런타임에서 사용할 수 있습니다. 제공되는 이미지는 Base 이미지로도 사용할 수 있습니다.

    이미지설명경로Base 런타임
    Headless Chrome PuppeteerHeadless Chrome, Puppeteer을 사용할 수 있는 Node.js 환경을 제공합니다.cloudfunctions.ncr.fin-ntruss.com/headless-chrome-puppeteer:[TAG]nodejs:16

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.