本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
镜像
Amazon SAM借助构建Container Re像,简化无服务器应用程序的持续集成和持续交付(CI/CD)。Amazon SAM提供的映像包括Amazon SAM命令行界面 (CLI) 和用于许多支持的Amazon Lambda运行时的构建工具。这使得使用Amazon SAM CLI 构建和打包无服务器应用程序变得更加容易。您可以将这些映像与 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 SAM CLI 版本 1.24.1 的图像。
从Amazon SAM CLI 的 1.33.0 版本开始,两个镜像x86_64和arm64容器镜像都可用于支持的运行时。有关更多信息,请参阅Amazon Lambda开发者指南中的 Lambda 运行时。
注意
在 CLI 版本 1.22.0 之前, DockerHub 是Amazon SAM CLI 从中Amazon SAM提取容器映像的默认存储库。从 1.22.0 开始,默认存储库更改为Amazon Elastic Container Registry Public (Amazon ECR Public) 要从当前默认存储库以外的存储库中提取容器映像,可以使用带--build-image选项的山姆·布莱德命令。本主题末尾的示例显示了如何使用 DockerHub 存储库映像构建应用程序。
镜像
下表列出了 Amazon ECR Public 构建容器映像的 URI,您可以使用这些镜像来构建和打包无服务器应用程序Amazon SAM。
注意
Amazon ECR Public 从Amazon SAM CLI 版本 1.22.0DockerHub 开始取代。如果您正在使用Amazon SAM CLI 的早期版本,我们建议您升级。
| 运行时 | Amazon ECR Public |
|---|---|
| .NET 7 | public.ecr.aws/sam/build-dotnet7 |
| .NET 6 | public.ecr.aws/sam/build-dotnet6 |
| .NET Core 3.1 | public.ecr.aws/sam/build-dotnetcore3.1 |
| Node.js 18 | public.ecr.aws/sam/build-nodejs18.x |
| Node.js 16 | public.ecr.aws/sam/build-nodejs16.x |
| Node.js 14 | public.ecr.aws/sam/build-nodejs14.x |
| Node.js 12 | public.ecr.aws/sam/build-nodejs12.x |
| Python 3.10 | public.ecr.aws/sam/build-python3.10 |
| Python 3.9 | public.ecr.aws/sam/build-python3.9 |
| Python 3.8 | public.ecr.aws/sam/build-python3.8 |
| Python 3.7 | public.ecr.aws/sam/build-python3.7 |
| Ruby 2.7 | public.ecr.aws/sam/build-ruby2.7 |
| Java 11 | public.ecr.aws/sam/build-java11 |
| Java 8 (AL2) | public.ecr.aws/sam/build-java8.al2 |
| Java 8 | public.ecr.aws/sam/build-java8 |
| Go 1.x | public.ecr.aws/sam/build-go1.x |
| 自定义运行时 (AL2) | public.ecr.aws/sam/build-provided.al2 |
| 自定义运行时 | public.ecr.aws/sam/build-Provid- |
示例
以下两个示例命令使用 DockerHub 存储库中的容器映像构建应用程序:
使用从DockerHub以下位置提取的容器映像构建Node.js 12应用程序:
$sam build --use-container --build-imageamazon/aws-sam-cli-build-image-nodejs12.x
使用从DockerHub以下位置提取的Python 3.8容器镜像构建函数资源:
$sam build --use-container --build-imageFunction1=amazon/aws-sam-cli-build-image-python3.8