繁体   English   中英

在 swarm 模式下“docker 服务更新”后“docker 服务日志”覆盖且不稳定

[英]'docker service logs' overwriting and unstable after 'docker service update' in swarm mode

我的 docker 服务日志通常工作正常(按时间顺序打印)但是,在执行后:

docker service update --force --image myimageregistry:mytag myservice 

如果我请求日志:

docker service logs myservice

然后我得到一些日志,但许多行丢失,最后一行与最近的操作不对应。 似乎旧日志被写在新日志之上,因此最终显示非常混乱。

此外,如果我在更新期间根据日志保持另一个终端处于打开状态,则在该终端上登录是没问题的,但是如果我之后请求它们,问题也是一样的。

当您请求服务日志时docker service logs $service docker 会从所有容器中传输所有日志,这些容器仍然通过任务、运行或停止链接到服务。 Docker 不会尝试以任何方式清理这些日志,因此多个任务日志最终可能会以错误的顺序交错排列。

如果您只需要当前进程的日志,您需要首先枚举与服务关联的任务,然后列出其中一项任务的日志:

$ docker service ps traefik_traefik
ID             NAME                                            IMAGE          NODE      DESIRED STATE   CURRENT STATE           ERROR                              PORTS
pwabbqdyucc3   traefik_traefik.n6fz7h5d122hads1rqwmmhgmw       traefik:v2.3   ...

$ docker service logs pwabb
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM