Custom Image

Prev Next

VPC環境で利用できます。

ユーザーイメージベースでアクションを作成し、実行できます。基本提供されるランタイムでライブラリとイメージレイヤーを追加でき、複数のアクションで共通して使用する設定を共通イメージに構成して使用できます。

参考
  • イメージ Pull時間はアクション実行時間に含まれません。
  • Custom Imageのランタイムは VPCプラットフォームのみサポートします。
  • linux/amd64イメージのみサポートします。

Dockerfile作成

Dockerfileの作成時、次の事項を必ず含む必要があり、含まれていない場合はアクションが正常に動作しません。

  1. FROMに Cloud Functionsで提供する Baseイメージを使用
  2. Baseイメージと同じ WORKDIR を設定
  3. Baseイメージと同じ ENTRYPOINT または CMD を設定

ランタイム別 Baseイメージ

ランタイム イメージパス WORKDIR ENTRYPOINT CMD Base OS
python:3.7 cloudfunctions.kr.ncr.ntruss.com/cloudfunctions-python-3.7:[TAG] / ["/bin/proxy"] - Rocky Linux 8.7
nodejs:16 cloudfunctions.kr.ncr.ntruss.com/cloudfunctions-nodejs-16:[TAG] /nodejsAction - node --expose-gc app.js Rocky 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.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.kr.ncr.ntruss.com/custom-python:1.0.0
  • Push
docker login -u *** my-registry.kr.ncr.ntruss.com
password: ****

docker push my-registry.kr.ncr.ntruss.com/custom-python:1.0.0

Custom Imageアクション作成

Custom Imageアクションを作成するにはランタイムで custom image を選択します。
Container Registryイメージ選択 で NAVER Cloud Container Registryにあるイメージを選択するか、使用するイメージのパスを直接入力できます。

注意
  • アクションで設定したイメージが Overwriteされても従来のアクションには反映されません。アクション変更でイメージを再選択して保存すると、新しいイメージが適用されます。
  • アクションで設定したイメージが削除される場合、正常にアクション実行が動作しない場合があります。

cloudfunctions-example-customimage_v2_01_ko

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 Puppeteer Headless ChromePuppeteerを使用できる Node.js環境を提供します。 韓国: cloudfunctions.kr.ncr.ntruss.com/headless-chrome-puppeteer:[TAG]
シンガポール: cloudfunctions.sg.ncr.ntruss.com/headless-chrome-puppeteer:[TAG]
日本: cloudfunctions.jpn.ncr.naverncp.com/headless-chrome-puppeteer:[TAG]
nodejs:16