如何在Docker群集模式下logging容器

有没有办法loggingdocker swarm模式下创build的docker service create的容器?

最后,这个特性已经在Docker 17.03中实现了。 您可以使用以下命令获取在不同/多个节点上运行的服务的日志:

 docker service logs -f {NAME_OF_THE_SERVICE} 

您可以通过以下方式获取服务的名称:

 docker service ls 

请注意,这是一个实验function (不是生产就绪),为了使用它,您必须启用实验模式

更新: docker日志服务现在是docker> = 17.06的标准function。 https://docs.docker.com/engine/reference/commandline/service_logs/#parent-command

该function尚未实现。 正如@ronkot所说,你必须找出哪个节点正在运行你的服务实例,并直接连接到它。

即使将来可能会实现该function,我强烈build议您开始使用Docker日志logging驱动程序,以便集中化群集的所有日志。 以下是更多信息: https : //docs.docker.com/engine/admin/logging/overview/

例如,如果你想使用像Logstash + Kibana :-)的gelf驱动程序是完美的