我在尝试从 Docker 映像创建 AWS Lambda 函数时收到了“Runtime.InvalidEntrypoint”错误。
当 Lambda 函数配置中的条目不正确时,您会收到 Runtime.InvalidEntrypoint 错误。
要解决此问题,请检查 Lambda 函数配置的以下设置:
验证容器映像的 ENTRYPOINT 和 CMD 是否使用绝对路径作为位置。此外,映像不能将符号链接作为 ENTRYPOINT。
确保 Lambda 函数配置中的 ENTRYPOINT 正确无误。ENTRYPOINT 必须与容器的 Dockerfile 中用于运行时的命令匹配。
验证容器映像是否已被推送到正确的 Amazon Elastic Container Registry (Amazon ECR)。
确保 Docker 映像的架构和 Lambda 函数相同。Lambda 支持 arm64 和 x86_64 指令集架构。当您构建容器映像时,务必使用 linux/amd64 或 linux/arm64 平台。 示例:
docker build platform linux/amd64 -t docker-image:test
当 Lambda 部署包没有正确的安全权限时,您会收到权限被拒绝错误以及 Runtime.InvalidEntrypoint 错误。要验证权限是否正确,请参见维基百科网站上的 Unix 权限符号表示法。对于 Lambda 部署包中的所有文件,正确的权限设置均为 644。对于部署包中的文件夹,正确的权限设置为 755。有关更多信息,请参阅我如何排查上传 Lambda 部署包时出现的“权限被拒绝”或“unable to import module”错误?
如何使用带有 Docker 的模拟 Lambda 环境创建 Lambda 层?
排查 Lambda 中的容器映像问题
如何在 Lambda 中使用容器映像?