docker - 如何在本地运行一次性 Docker 容器(从容器内触发)

标签 docker heroku amazon-ecs aws-fargate

在 Heroku 上托管应用程序时,我经常通过代码中的 Heroku API 触发一次性 dynos,以便在后台执行繁重的工作。我最近在 AWS 上设置了一些堆栈,并通过使用 AWS ECS 运行任务遵循了类似的模式。

我没有为此使用长时间运行的队列工作程序,因为硬件资源根据特定任务而有很大差异,并且通常工作负载出现在高峰期。

对于本地开发,我通常通过在正在运行的容器中执行后台任务或从控制台手动触发后台命令来跳过这个主题。什么是在本地运行一次性容器的好方法?

最佳答案

ECS 支持计划任务,如果您知道计划高峰的时间,您可以使用计划任务按计划启动 Fargate 容器。

如果您不这样做,我们所做的是编写一个小型 API Gateway -> Lambda 函数,该函数基本上动态启动 Fargate 容器,其中包含一些在 POST 中定义的变量到 API Gateway 端点,如 CPU/Mem/port 等。 . 或者预先创建任务定义并将任务定义传递给 api,如果您知道容器的大部分“设置”应该是什么,这是另一种选择。

关于docker - 如何在本地运行一次性 Docker 容器(从容器内触发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50482465/

相关文章:

amazon-web-services - 如何从亚马逊上正在运行的容器创建新的 docker 镜像?

amazon-web-services - 当文件中明确指定了 executionRoleArn 时,为什么我会收到有关未指定 executionRoleArn 的错误?

docker - 生产就绪的LAMP堆栈-料斗,火箭等

r - 即使容器中有大量空间,Docker驱动器也没有剩余空间

docker 容器中的 Python

ruby-on-rails-3 - 执行 Rails Assets :precompile? 时如何运行一些初始化程序

node.js - 错误 : ENOENT: no such file or directory, 扫描目录 '/app/migrations'

docker - AWS ECS EC2与 Jenkins 连续部署

django - 带有docker的Django和nginx组成-静态文件未加载

node.js - heroku推送被拒绝无法编译node.js应用程序