首页 > 解决方案 > 在 AWS lambda 中运行两个 docker 容器

问题描述

我知道您可以将 docker 容器上传到 AWS lambda 函数。有没有办法将两个 docker 容器映射到同一个 lambda 函数?这样一个接一个地执行。这将允许通过临时磁盘进行一些本地通信。

标签: amazon-web-servicesaws-lambda

解决方案


不幸的是,一个 Lambda 函数可能只绑定到一个 Docker 映像。

有几种方法可以实现这个所需的功能:

如果您不需要两个单独的 lambda 函数,您可以将项目分成不同的文件,同时仍然将所有内容都包装在一个容器中。它可能看起来像这样:

project_name
|
--- Dockerfile
|
--- src
    |
    --- lambda_function.py
    |
    --- file1.py
    |
    --- file2.py

wherelambda_function.py包含您的处理程序,该处理程序从file1.py和调用方法file2.py

如果您确实需要两个不同的 Lambda,您有几个选择。首先,我建议在 lambda 1 和 lambda 2 之间设置一个 API 网关。这样,lambda 1 可以针对 API 发出 curl 请求,它将代表您调用第二个 lambda。

另一种选择是 Step Functions。它提供了一个很好的 UI 来设置您的 Lambda 将如何相互交互。Step Functions 的缺点是,当您向组合中添加更多 lambda 时,它很快就会变得难以管理。


推荐阅读