AWS ecs任务定义变量

时间:2016-10-21 20:20:24

标签: amazon-web-services docker amazon-ecs

是否可以在AWS ECS任务定义中动态设置值?例如。我有以下卷定义。

BigDecimal.new(num).inspect

我想做"volumes": [ { "host": { "sourcePath": "/tmp/logs/registrations" }, "name": "logs" } ], 之类的事情。

我正在尝试这样做,因为我有多个容器运行相同的应用程序。我需要为每个收集器安装每个容器日志目录。问题是如果目录没有被容器命名,那么挂载就会发生冲突。

2 个答案:

答案 0 :(得分:3)

如果不要求保存到文件系统,则Cloudwatch日志是另一种选择。

如果您正在使用ECS优化的AMI,那么它已经配置好了,您只需要在容器任务定义中打开它:

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html

您还需要为每个容器配置日志组或日志流。

答案 1 :(得分:1)

是否需要将日志保存到文件系统?如果没有,Sumo Logic有一篇关于另一个选项的非常好的文章:Update On Logging With Docker

您在一个容器中运行Sumo Logic Collector for Docker,在另一个容器中运行您的应用程序。您将Docker配置为将日志从应用程序容器发送到Sumo Logic收集器。这是built into Docker,因此您的应用程序不需要更改。然后,收集器容器将这些日志发送到Sumo Logic。

我已经看到这种模式称为sidecar,以防你正在寻找其他的例子。