我想知道在为无服务器计算创建函数时是否可以使用docker?
如果是这样,它会是什么样子?
如何指定函数处理程序?
有关此主题的任何文章或教程?
您如何在AWS-Lambda上下文中应用这些问题?任何细节?
谢谢。
答案 0 :(得分:6)
据我们所知,当你运行一个lambda函数时,它已经在一个容器中运行 - 这就是它在AWS上的设计方式(不确定它们是否已正式记录),所以我的猜测是否定的,你不能把一个docker容器拉成一个lambda函数。
但是,如果您想要做的是以更多/更少的无服务器方式运行docker容器,请查看aws fargate:
AWS Fargate是适用于Amazon ECS和EKS *的技术 运行容器而无需管理服务器或集群。使用AWS Fargate,您不再需要进行配置,配置和扩展 用于运行容器的虚拟机集群。这消除了需要 选择服务器类型,决定何时扩展集群,或 优化集群包装。 AWS Fargate不再需要您 与服务器或集群交互或思考。 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