--- title: "Custom Image" slug: "cloudfunctions-example-customimage" tags: ["Cloud Functions"] updated: 2026-09-17T09:18:17Z published: 2026-09-17T09:18:17Z canonical: "guide.ncloud-docs.com/cloudfunctions-example-customimage" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Custom Image Available in VPC You can create and execute actions in the user image basis. You can add libraries and image layers to the default runtime and set the settings shared by multiple actions as common images. Note - Image pull time is not included in the execution time of action. - Custom image runtime is only supported in the VPC platform. - Only Linux and AMD64 images are supported. ## Create Dockerfile To create a Dockerfile, the following items must be included. If any of the following is missing, the action does not operate properly. 1. Base image from Cloud Functions in`FROM` 2. Same `WORKDIR` settings as in the base image 3. Same `ENTRYPOINT` or `CMD` settings as in the base image ### Base image by runtime | Runtime | Image path | 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 | ## Image Build/Push You can build an image using the written Dockerfile and push the image to [NAVER Cloud Container Registry](https://www.ncloud.com/product/containers/containerRegistry). The image must include the Container Registry path. ### Image Build ``` docker build . -t ``` ### Image Push To push an image to Container Registry, you need to log in to Container Registry. For more information, see [Container Registry user guide](/docs/en/container-ncr-1-3#%EB%8F%84%EC%BB%A4-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%97%85%EB%A1%9C%EB%93%9Cpush). ``` docker login -u ..ncr.ntruss.com Password: docker push ``` ## Example - Dockerfile ``` FROM cloudfunctions.kr.ncr.ntruss.com/cloudfunctions-python-3.7:latest # Installing the required library 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 ``` ## Create Custom Image action To create a Custom Image action, select **custom image** in the runtime. You can select the image in NAVER Cloud Container Registry in the **Select Container Registry image** or directly enter the path of the image to be used. Caution - Once an image is selected for an action, overwriting the image does not affect the action. To apply a new image, you need to newly select and save the image in Edit action. - If you delete the image selected for an action, the action may not be executed properly. ![cloudfunctions-example-customimage_v2_01_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/cloudfunctions-example-customimage_v2_01_en.png?sv=2026-02-06&spr=https&st=2026-11-14T04%3A28%3A09Z&se=2026-11-14T05%3A28%3A09Z&sr=c&sp=r&sig=wpvx%2BB0Mq33MwCbnnYS55dYkzgms9OQTPGndIBF6vLI%3D) ### Select Container Registry image You can select an image to use by following the next steps. Click **[Complete]** to verify whether the image is usable. An image with a compressed size that exceeds 800 MB cannot be used. - Select registry ![cloudfunctions-example-customimages_02.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/cloudfunctions-example-customimage_02_en.png?sv=2026-02-06&spr=https&st=2026-11-14T04%3A28%3A09Z&se=2026-11-14T05%3A28%3A09Z&sr=c&sp=r&sig=wpvx%2BB0Mq33MwCbnnYS55dYkzgms9OQTPGndIBF6vLI%3D) - Select image ![cloudfunctions-example-customimages_03.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/cloudfunctions-example-customimage_03_en.png?sv=2026-02-06&spr=https&st=2026-11-14T04%3A28%3A09Z&se=2026-11-14T05%3A28%3A09Z&sr=c&sp=r&sig=wpvx%2BB0Mq33MwCbnnYS55dYkzgms9OQTPGndIBF6vLI%3D) - Select tag ![cloudfunctions-example-customimages_04.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/cloudfunctions-example-customimage_04_en.png?sv=2026-02-06&spr=https&st=2026-11-14T04%3A28%3A09Z&se=2026-11-14T05%3A28%3A09Z&sr=c&sp=r&sig=wpvx%2BB0Mq33MwCbnnYS55dYkzgms9OQTPGndIBF6vLI%3D) ### Enter Container Registry image path You can manually enter the path of the image to use. The image path format is /:. If you leave out tag, it is automatically filled in with "latest." ### Verify path You can verify the usability of the entered image in the path. The verification conditions are as follows: - Compressed size of image must be 800 MB or smaller - Must be [base image](/docs/en/cloudfunctions-example-customimage#%EB%9F%B0%ED%83%80%EC%9E%84%EB%B3%84-Base-%EC%9D%B4%EB%AF%B8%EC%A7%80) from Cloud Functions ## Image Packs The following specialized images are provided in Cloud Functions. You can use them in Custom Image runtime. The provided images can be used as base images. | Image | Description | Path | Base runtime | | --- | --- | --- | --- | | Headless Chrome Puppeteer | The Node.js environment to use [Headless Chrome](https://developer.chrome.com/blog/headless-chrome/) and [Puppeteer](https://pptr.dev/) is provided. | Korea: cloudfunctions.kr.ncr.ntruss.com/headless-chrome-puppeteer:[TAG] Singapore: cloudfunctions.sg.ncr.ntruss.com/headless-chrome-puppeteer:[TAG] Japan: cloudfunctions.jpn.ncr.naverncp.com/headless-chrome-puppeteer:[TAG] | nodejs:16 |