Docker | awslogs驱动程序|设置流名称的含义

Docker | awslogs驱动程序|设置流名称的含义,docker,kubernetes,containers,amazon-cloudwatchlogs,Docker,Kubernetes,Containers,Amazon Cloudwatchlogs,我告诉containerd使用/etc/docker/daemon.json文件使用awslogs,正如中的文档中所建议的那样 默认情况下,aws流名称设置为随机生成的容器id,当您列出组中的流时,该id没有意义 awslogs驱动程序有一个选项可以将awslogs流设置为一个特定的名称,但这不能满足我的需要,因为我希望不同的容器使用不同的流 我想我要做的是告诉docker根据图像名称和容器id组合流id,但我找不到一个选项 理论上,我可以在docker run命令中直接设置流名称,但这还不够好

我告诉containerd使用
/etc/docker/daemon.json
文件使用awslogs,正如中的文档中所建议的那样

默认情况下,aws流名称设置为随机生成的容器id,当您列出组中的流时,该id没有意义

awslogs驱动程序有一个选项可以将awslogs流设置为一个特定的名称,但这不能满足我的需要,因为我希望不同的容器使用不同的流

我想我要做的是告诉docker根据图像名称和容器id组合流id,但我找不到一个选项

理论上,我可以在
docker run
命令中直接设置流名称,但这还不够好,因为我使用Kubernetes启动这些容器,所以我不确定如何从应用程序yml文件设置流名称


你知道如何满足我的需求吗?

你说得对,没有迹象表明
--log opt
被实现到Kubernetes中,因为dockerd已经被弃用了

您没有指定
awslogs流
而是尝试设置
标记

  • 检查此,因为它可能完全适合您的需要
从您发布的Docker文档链接:

指定
tag
作为
awslogs流
选项的替代选项
tag
解释Go模板标记,例如
{.ID}
{{.FullID}}
{.Name}
docker.{.ID}
。 有关所有支持的模板替换的详细信息,请参阅

另一种可行的方法是使用sidecar容器守护进程来处理日志,然后转发到awslogs,但是
tag
是一种更干净、更简单的解决方案

以下是fluentd的流程:

据介绍,没有从Kubernetes传递日志驱动程序选项的选项