映像存储库 - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

映像存储库

Amazon SAM借助构建容器映像,简化了无服务器应用程序的持续集成和持续部署 (CI/CD) 任务。那些映像Amazon SAM提供包括Amazon SAM用于许多受支持的命令行接口 (CLI) 和构建工具Amazon Lambda运行时。这使得使用Amazon SAMCLI。您可以将这些映像与 CI/CD 系统一起使用,以自动构建和部署Amazon SAM应用程序。有关示例,请参阅 使用 CI/CD 系统部署

Amazon SAM构建容器映像 URI 使用Amazon SAM该图片中包含 CLI。如果指定未标记 URI,则将使用最新版本。例如,public.ecr.aws/sam/build-nodejs14.x使用最新的图片。但是,public.ecr.aws/sam/build-nodejs14.x:1.24.1使用包含的图片Amazon SAMCLI 版本 1.24.1。

从版本 1.33.0 开始Amazon SAMCLI、x86_64arm64容器映像可用于支持的运行时。有关更多信息,请参阅 。Lambda 运行时中的Amazon Lambda开发人员指南.

注意

在版本 1.22.0 之前Amazon SAMCLI、 DockerHub 是默认存储库Amazon SAMCLI 从拉取容器映像。从 1.22.0 版开始,默认存储库更改为 Amazon Elastic Container Registry Public (Amazon ECR Public)。要从当前默认值以外的存储库中提取容器映像,可以使用sam build命令使用--build-image选项。本主题末尾的示例展示了如何使用构建应用程序 DockerHub 存储库映像。

映像存储库 URI

下表列出了的 URIAmazon ECR Public构建容器映像,您可以使用这些映像构建和打包无服务器应用程序Amazon SAM.

运行时 Amazon ECR Public

(默认从版本 1.22.0 开始)

Dockerhub

(默认值为 1.22.0 版本 1.22.0)

Node.js 16 public .ecr.aws/build-nodejs16.x 不支持
Node.js 14 public .ecr.aws/build-nodejs14.x 亚马逊/aws-sam-cli-build-image-nodejs14.x
Node.js 12 public .ecr.aws/build-nodejs12.x 亚马逊/aws-sam-cli-build-image-nodejs12.x
Node.js 10 public .ecr.aws/build-nodejs10.x 亚马逊/aws-sam-cli-build-image-nodejs10.x
Python 3.9 public .ecr.aws/build-python3.9 不支持
Python 3.8 public .ecr.aws/build-python3.8 亚马逊/aws-sam-cli-build-图像-python3.8
Python 3.7 public .ecr.aws/build-python3.7 亚马逊/aws-sam-cli-build-图像-python3.7
Python 3.6 public .ecr.aws/build-python3.6 亚马逊/aws-sam-cli-build-图像-python3.6
Python 2.7 public .ecr.aws/build-python2.7 亚马逊/aws-sam-cli-build-图像-python2.7
Ruby 2.7 public .ecr.aws/build-ruby2.7 亚马逊/aws-sam-cli-build-image-ruby2.7
Ruby 2.5 public .ecr.aws/build-ruby2.5 亚马逊/aws-sam-cli-build-image-ruby2.5
Java 11 映像 .ecr.aws/build-java11 亚马逊/aws-sam-cli-build-image-java11
Java 8 (AL2) public .ecr.aws/build-java8.al2 亚马逊/aws-sam-cli-build-image-java8.al2
Java 8 public .ecr.aws/build-java8 亚马逊/aws-sam-cli-build-image-java8
Go 1.x 映像 .ecr.aws/build-go1.x 亚马逊/aws-sam-cli-build-image-go1.x
自定义运行时 (AL2) 映像 .ecr.aws/build 提供 Dal2 亚马逊/aws-sam-cli-build-图片提供。al2
自定义运行时 Aupl.ecr.aws/Build 提供 亚马逊/aws-sam-cli-build 图片提供

示例

以下两个示例命令使用来自 DockerHub 存储库:

# Build a Node.js 12 application using a container image pulled from DockerHub sam build --use-container --build-image amazon/aws-sam-cli-build-image-nodejs12.x # Build a function resource using the Python 3.8 container image pulled from DockerHub sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8