首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对接服务日志将如何获取日志?

对接服务日志将如何获取日志?
EN

Stack Overflow用户
提问于 2018-04-24 07:03:42
回答 2查看 4.2K关注 0票数 0

我知道码头服务日志从作为该服务一部分的容器中获取日志。但它会怎么样呢?它是取一次并缓存某个地方,还是每次发出命令"docker服务日志“时,它都会通过网络获取日志?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-24 09:04:43

正如我的注释和另一个答案所提到的,停靠引擎总是缓存在该停靠引擎上运行的容器的日志,并将它们存储在/var/lib/docker/containers/<container id>/<container id>-json.log目录中。当您在没有运行所述服务的容器的机器上执行docker service logs时,停靠者总是通过网络从机器上提取日志,并且从不缓存。

尽管如此,您所面临的received message length 1869051448 exceeding the max size 4194304错误是因为可能有一个日志行太长,无法适应通过网络发送的gRPC对象。

解决方案

  1. --tail <n>选项指定为docker service logs,其中n是您希望看到的日志末尾的行数。
  2. docker service ps指定一个任务ID,而不是服务名称,给出来自该任务的日志,而不是跨服务副本的聚合日志。

如果拉出的日志中仍然有那么长的日志行,这可能仍然会给您带来错误。

票数 1
EN

Stack Overflow用户

发布于 2018-04-24 07:08:16

默认情况下,停靠器日志到:/var/lib/docker/containers/<container id>/<container id>-json.log

这个问题是已答

有关一些高级日志记录选项,请参见测井驱动程序

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49995323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档