amazon-web-services - 使用来自 Lambda 的动态参数启动容器

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

我想使用来自 lambda 函数的动态参数启动一个容器。我正在使用 Fargate 进行容器编排。所以基本上我正在尝试实现与此相同的目标:

docker run container-name arg1 arg2

我们可以在 Fargate 中设置环境变量,但它们是静态的。我想在 lambda 启动容器时动态传递这些参数。

最佳答案

您无法向 docker run 发送参数,但可以发送环境变量。

定义 ECS 任务参数时,您可以使用您的环境变量填写containerOverrides

var params = {
  taskDefinition: 'your-task-definition`,
  cluster: `your-cluster`,
  count: 1,
  overrides: {
   containerOverrides: [
    {
     name: 'container-name',
     environment: [{
        name: 'VAR NAME',
        value: value
     }]
    }]
  }
}

const result = await ecs.runTask(params).promise()

然后您可以获取环境变量并在 Docker CMD 命令中使用它们。

关于amazon-web-services - 使用来自 Lambda 的动态参数启动容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61494853/

相关文章:

java - 如何从 Java 中的 RESTful 服务进行 API 调用?

java - 配置适用于 Java 的 AWS 开发工具包

aws-lambda - terraform:local_file 与 null_resource 的依赖性导致:没有这样的文件或目录

amazon-web-services - 允许 lambda 权限访问 Secretsmanager 值

aws-lambda - SAM 构建 - 它还构建层吗?

aws-cloudformation - 属性验证失败,并显示消息不允许使用无关 key

amazon-web-services - 运行任务 : No Container Instances were found in your cluster 时出现 AWS ECS 错误

amazon-web-services - AWS 删除 CloudFormation 堆栈的权限

amazon-web-services - 2 是在 AWS 上正确部署容器的最小实例数吗?

amazon-web-services - Cloudformation Registry 在提交私有(private)资源类型时不创建日志组