映像儲存庫 - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

映像儲存庫

AWS SAM 藉助建置容器映像,簡化無伺服器應用程式的持續整合與持續交付 (CI/CD) 工作。 AWS SAM 提供的映像檔包括指 AWS SAM 令列介面 (CLI) 和建置工具,適用於許多受支援的執行 AWS Lambda 階段。這可讓您更輕鬆地使用 AWS SAMCLI. 您可以將這些映像與 CI/CD 系統搭配使用,以自動化應用程式的建置和部 AWS SAM 署作業。如需範例,請參閱 使用 CI/CD 系統和管線進行部署

AWS SAM 構建容器映像 URI 標記為 AWS SAMCLI包含在該映像中的版本。如果您指定未標記的 URI,則會使用最新版本。例如,public.ecr.aws/sam/build-nodejs20.x使用最新的影像。不過,public.ecr.aws/sam/build-nodejs20.x:1.24.1會使用包含 AWS SAM CLI 版本 1.24.1 的映像檔。

從版本 1.33.0 開始 AWS SAMCLI,x86_64arm64容器映像都可用於支援的執行階段。如需詳細資訊,請參閱AWS Lambda 開發人員指南的 Lambda 執行階段

注意

在版本 1.22.0 之前 AWS SAMCLI, DockerHub 是從中 AWS SAMCLI提取容器映像的預設存放庫。從版本 1.22.0 開始,默認存儲庫更改為 Amazon 彈性容器註冊表公共(Amazon ECR 公共)。若要從目前預設值以外的儲存庫提取容器映像檔,您可以搭配--build-image選項使用sam build指令。本主題結尾的範例說明如何使用 DockerHub 儲存庫映像建置應用程式。

影像儲存庫 URI

下表列出 Amazon ECR 公開建置容器映像的 URI,可用來建置和封裝無伺服器應用程式。 AWS SAM

注意

Amazon ECR 公共更換為 1.22.0 AWS SAMCLI 版本DockerHub開始。如果您使用的是較早版本的 AWS SAMCLI,建議您升級。

範例

下列兩個指令範例會使用 DockerHub 儲存庫中的容器映像來建置應用程式:

使Node.js 20用從以下位置提取的容器映像建立應用程式DockerHub:

$ sam build --use-container --build-image public.ecr.aws/sam/build-nodejs20.x

使用從以下位置提取的Python 3.12容器映像構建函數資源 DockerHub

$ sam build --use-container --build-image Function1=public.ecr.aws/sam/build-python3.12