有没有办法记录在docker swarm模式下使用docker service create
创建的容器?
答案 0 :(得分:16)
最后,该功能已在docker 17.03中实现。您可以使用以下命令获取在不同/多个节点上运行的服务的日志:
docker service logs -f {NAME_OF_THE_SERVICE}
您可以使用以下命令获取服务名称:
docker service ls
请注意,这是实验性功能(非生产就绪),为了使用它,您必须启用实验模式: < / p>
更新: docker logs service 现在是docker&gt; = 17.06的标准功能。 https://docs.docker.com/engine/reference/commandline/service_logs/
答案 1 :(得分:5)
该功能尚未实施。正如@ronkot所说,你必须找出运行服务实例的节点并直接连接到它。
即使该功能将来可能会实现,我强烈建议您开始使用Docker日志记录驱动程序,以集中集群的所有日志。以下是更多信息:https://docs.docker.com/engine/admin/logging/overview/
例如,如果你想使用像Logstash + Kibana这样的东西,gelf驱动程序是完美的: - )