【发布时间】:2016-08-05 20:45:19
【问题描述】:
当前设置正在使用 fluentd 驱动程序运行 Docker 容器:
docker run --log-driver=fluentd my-container
这很容易......将标准输出发送到主机上本地运行的 fluentd 系统。
我想使用容器上设置的一些标签来控制 fluentd tag。对于这个例子,假设一些标签(docker inspectsn-p):
"Config": {
"Labels": {
"com.amazonaws.ecs.container-name": "web",
"com.amazonaws.ecs.task-definition-version": "3"
}
}
如何通过提取一个或多个Labels来设置fluentdtag?
此列表中的 Docker 文档列出了当前支持的标签:https://docs.docker.com/engine/admin/logging/log_tags/
那些文档记下了ExtraAttributes...但是我可以弄清楚如何使用它来查找一个或多个标签。阅读 Docker 代码我不清楚:https://github.com/docker/docker/blob/master/daemon/logger/context.go#L29
这与docker inspect 无关:
docker inspect --format '{{index .ContainerLabels "com.amazonaws.ecs.container-name"}}'
我想 grep 出相同的信息并将其输入到log-opt tag=?
【问题讨论】: