【问题标题】:build and push docker image to AWS ECR using lambda使用 lambda 构建 docker 映像并将其推送到 AWS ECR
【发布时间】:2018-07-04 06:33:36
【问题描述】:

是否可以从提交到 github 的代码自动构建 docker 映像(不涉及测试),然后使用 lambda 函数将其推送到 AWS ECR

【问题讨论】:

  • 我不确定您打算如何从 github 提交中调用 lambda(pubsub?poll?)。无论如何,如果您采用任何方法,您都需要花一些钱。我能想到的一种方法。 1. 将 Github 钩子链接到 DockerHub,后者负责自动构建图像。 2. 可以使用 boto3 python 库编写您的 lambda,以提取图像详细信息并将图像放入 ECR。让我知道这是否有意义或有帮助,我会将其发布为答案。此外,如果您愿意花钱,您可以检查 AWS CodeCommit 和 CodePipeline 的可能性,以获得简单的架构。

标签: amazon-web-services aws-lambda amazon-ecs


【解决方案1】:

你不能只使用 lambda 来做到这一点,因为 lambda 并不是真正适合 docker 守护进程的执行环境(构建映像所必需的),但是你可以使用 lambda + sns 来触发一个可以指向你开发的服务的端点,托管在 ec2 上,它将在 git clone 之后触发 docker build 命令(您可以使用类似于 python 的 fabfile.org 或允许您执行服务器命令的框架)。

您当然可以扩展这个想法,也许可以将 ec2 构建机器与一些自动执行此操作的 ami 结合起来,等等......

这里的重点是您无法真正控制 lambda 中的配置,因此您需要 ec2。

【讨论】:

  • 谢谢,我已经想通了,我将使用codebuild & codepipeline 来完成构建过程。
  • 对!我完全忘记了aws自己的服务,有些人可能会争辩说这对他们来说太“特定于供应商”了,不管怎样,发布你自己的答案,这样人们就会看到它:)
猜你喜欢
  • 2017-08-13
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2020-02-13
相关资源
最近更新 更多