Deploy Node.js Lambda functions with container images - AWS Lambda

Deploy Node.js Lambda functions with container images

You can deploy your Lambda function code as a container image. AWS provides the following resources to help you build a container image for your Node.js function:

  • AWS base images for Lambda

    These base images are preloaded with a language runtime and other components that are required to run the image on Lambda. AWS provides a Dockerfile for each of the base images to help with building your container image.

  • Open-source runtime interface clients

    If you use a community or private enterprise base image, add a runtime interface client to the base image to make it compatible with Lambda.

The workflow for a function defined as a container image includes these steps:

  1. Build your container image using the resources listed in this topic.

  2. Upload the image to your Amazon ECR container registry. See steps 7-9 in Create image.

  3. Create the Lambda function and deploy the image.

AWS base images for Node.js

AWS provides the following base images for Node.js:

Tags Runtime Operating system Dockerfile

14

NodeJS 14.x Amazon Linux 2 Dockerfile for Node.js 14.x on GitHub

12

NodeJS 12.x Amazon Linux 2 Dockerfile for Node.js 12.x on GitHub

10

NodeJS 10.x Amazon Linux 2 Dockerfile for Node.js 10.x on GitHub

Docker Hub repository: amazon/aws-lambda-nodejs

Amazon ECR repository: gallery.ecr.aws/lambda/nodejs

Using a Node.js base image

For instructions on how to use a Node.js base image, choose the usage tab on AWS Lambda base images for Node.js in the Amazon ECR repository.

The instructions are also available on AWS Lambda base images for Node.js in the Docker Hub repository.

Node.js runtime interface clients

Install the runtime interface client for Node.js using the npm package manager:

npm install aws-lambda-ric

For package details, see Lambda RIC on the npm website.

You can also download the Node.js runtime interface client from GitHub.