Docker | awslogs驱动程序|设置流名称的含义
我告诉containerd使用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命令中直接设置流名称,但这还不够好
/etc/docker/daemon.json
文件使用awslogs,正如中的文档中所建议的那样
默认情况下,aws流名称设置为随机生成的容器id,当您列出组中的流时,该id没有意义
awslogs驱动程序有一个选项可以将awslogs流设置为一个特定的名称,但这不能满足我的需要,因为我希望不同的容器使用不同的流
我想我要做的是告诉docker根据图像名称和容器id组合流id,但我找不到一个选项
理论上,我可以在docker run
命令中直接设置流名称,但这还不够好,因为我使用Kubernetes启动这些容器,所以我不确定如何从应用程序yml文件设置流名称
你知道如何满足我的需求吗?你说得对,没有迹象表明
--log opt
被实现到Kubernetes中,因为dockerd已经被弃用了
您没有指定awslogs流
而是尝试设置标记
- 检查此,因为它可能完全适合您的需要
tag
作为awslogs流
选项的替代选项tag
解释Go模板标记,例如{.ID}
,{{.FullID}}
或{.Name}
docker.{.ID}
。
有关所有支持的模板替换的详细信息,请参阅
另一种可行的方法是使用sidecar容器守护进程来处理日志,然后转发到awslogs,但是tag
是一种更干净、更简单的解决方案
以下是fluentd的流程:
据介绍,没有从Kubernetes传递日志驱动程序选项的选项