在AWS lambda服务器上运行dockerized函数

时间:2018-03-19 15:05:54

标签: amazon-web-services docker aws-lambda serverless

我想知道在为无服务器计算创建函数时是否可以使用docker?

如果是这样,它会是什么样子?

如何指定函数处理程序?

有关此主题的任何文章或教程?

您如何在AWS-Lambda上下文中应用这些问题?任何细节?

谢谢。

2 个答案:

答案 0 :(得分:6)

据我们所知,当你运行一个lambda函数时,它已经在一个容器中运行 - 这就是它在AWS上的设计方式(不确定它们是否已正式记录),所以我的猜测是否定的,你不能把一个docker容器拉成一个lambda函数。

但是,如果您想要做的是以更多/更少的无服务器方式运行docker容器,请查看aws fargate:

  

AWS Fargate是适用于Amazon ECS和EKS *的技术   运行容器而无需管理服务器或集群。使用AWS   Fargate,您不再需要进行配置,配置和扩展   用于运行容器的虚拟机集群。这消除了需要   选择服务器类型,决定何时扩展集群,或   优化集群包装。 AWS Fargate不再需要您   与服务器或集群交互或思考。 Fargate让你   专注于设计和构建应用程序而不是管理   运行它们的基础设施。

https://aws.amazon.com/fargate/

答案 1 :(得分:0)

AWS Lambda在AmazonLinux上运行,并且不授予运行docker的root权限。还有其他限制,例如最大内存,超时和磁盘空间,这些限制限制了许多docker映像的使用。

但是一些聪明的人已经找到了解决方法。使用udocker在Lambda上运行简单的Docker容器,在某些用例中非常有用。

签出:https://github.com/grycap/scar

原始参考:https://hackernoon.com/how-did-i-hack-aws-lambda-to-run-docker-containers-7184dc47c09b