本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
映像儲存庫
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_64
和arm64
容器映像都可用於支援的執行階段。如需詳細資訊,請參閱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,建議您升級。
執行期 | Amazon ECR Public |
---|---|
自訂執行階段 (AL2023) | 公共.aw/桑/構建提供的.al2023 |
自訂執行階段 (AL2) | 公共 .ecr.aw/Sam /構建提交的.al2 |
自訂執行時間 | 公共.ecr.aw/SAM/構建提供 |
Go 1.x | 公共 .ecr.aw/ SAM /構建-go1.x |
Java 21 | 公共 .EW /三/構建java21 |
Java 17 | 公共 .EW /三/構建java17 |
Java 11 | 公共 .EW /SAM/構建java11 |
爪哇 8 (阿尔 2) | 公共 .EW /SAM/構建java8.al2 |
Java 8 | 公共 .EW /SAM/構建java8 |
。淨值 8 | 公共 .ecr.aw/ SAM /構建網8 |
.NET 7 | 公共 .ecr.aw/ SAM /構建網7 |
.NET 6 | 公共 .ecr.aw/ SAM /構建網6 |
Node.js 20 | 公共 .ecr.aw/ SAM /構建-nodejs20.x |
Node.js 18 | 公共 .ecr.aw/ SAM /構建-節點 18.x |
Node.js 16 | 公共 .ecr.aw/ SAM /構建-節點16.x |
Python 3.12 | 公共 .EW /SAM/構建-蟒蛇 3.12 |
Python 3.11 | 公共 .EW /SAM/構建-蟒蛇 3.11 |
Python 3.10 | 公共 .EW /SAM/構建-蟒蛇 3.10 |
Python 3.9 | 公共 .EW /SAM/構建-python3.9 |
Python 3.8 | 公共 .EW /SAM/構建-python3.8 |
紅寶石 | 公共 .ecr.aw/ SAM /構建紅寶石 3.3 |
Ruby 3.2 | 公共 .ecr.aw/ SAM /構建紅寶石 3.2 |
範例
下列兩個指令範例會使用 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