如何在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驱动程序是完美的