是否可以在 AWS Lambda 上运行 docker image/DockerFile?

Posted

技术标签:

【中文标题】是否可以在 AWS Lambda 上运行 docker image/DockerFile?【英文标题】:Is it possible to run docker image/DockerFile on AWS Lambda? 【发布时间】:2018-11-13 04:12:57 【问题描述】:

我想使用我给定的 Dockerfile 部署一个 docker 映像,该 Dockerfile 在 AWS Lambda 云上执行一个程序。我知道 EC2 可以,但我想使用 AWS Lambda。任何人有参考或知道是否可能?

我也在查看具有 docker 功能的 AWS Elastic Beanstalk,但它似乎适用于 Web 应用程序?我试图在云上执行的程序不是网络应用程序。

【问题讨论】:

有什么意义?无论如何,也许this link可以帮助你 @juanlumn 我会看看那个。你什么意思有什么意义?好像不实用?请告诉我。 亚马逊有an entire service for this。为什么选择拉姆达?这似乎与 Lambda 与 ECS 的意图不匹配。 ECS 根本不是这个问题所寻求的。这个问题询问的是允许您提供自己的容器的无服务器计算平台。 Google Cloud Platform中的这样一款产品,被称为“Google Cloud Run”。我不知道 AWS 中是否存在任何等价物。 不一样,但您可能想查看aws.amazon.com/fargate,它可以让您在无需维护底层服务器的情况下运行容器。 【参考方案1】:

这刚刚宣布,现在可以在 Lambda 中运行 Docker,这里是公告的链接:

https://aws.amazon.com/blogs/aws/new-for-aws-lambda-container-image-support/

【讨论】:

【参考方案2】:

有一篇文章介绍了这个以及两个项目。这是article,这两个是这样做的框架。

docker-in-aws-lambda(来自文章) docker-lambda

【讨论】:

问题是在 lambda 上运行 docker,而不是在 docker 内运行 lambda。 为了清楚起见,提到的两个项目是不同的:“docker-in-aws-lambda”允许您从 python/nodejs/etc 运行 shell 脚本。 lambda,并从 shell 脚本运行 docker 映像。这就是OP所要求的。 “docker-lambda”链接是不同的,它只是提供像 lambda 环境一样的 docker 镜像。

以上是关于是否可以在 AWS Lambda 上运行 docker image/DockerFile?的主要内容,如果未能解决你的问题,请参考以下文章

确定我们是否在AWS Lambda + Zappa下运行?

试图在AWS Lambda上运行python脚本,但是如果加载virtualenv目录,Lambda会失败

是否可以重命名 AWS Lambda 函数?

AWS ECS Docker 容器 Boto3 IAM 权限

是否可以使用 .Net Core 2.2 在 AWS Lambda 上使用 Kinesis FireHose 执行 PutRecord?

AWS Lambda Task在3.00秒后超时