我目前使用Docker作为我的后端,当我第一次启动它们时
docker-compose up
我同时获得了所有4个docker的日志输出,因此我可以看到当请求传入时它们是如何相互交互的。如下所示,一个请求从nginx发送到couchdb
现在的问题是,我运行在GCE上的负载平衡,当一个新的虚拟机旋转起来,它自动启动码头和正常运行,我希望能够访问负载平衡的虚拟机和查看实时日志,但我不能让码头允许我这种风格,当我使用日志,它给我正常的全白色字体,没有标签,它来自哪里。
使用
docker events
不执行任何操作,它不会返回任何信息。
tldr;获取视图的最佳方法是什么,与运行“docker-composite up”时获得的日志输出相同
5条答案
按热度按时间1rhkuytd1#
如果使用docker-compose,则使用
代替
这将得到我最初寻找的输出。
c7rzv4ha2#
您可以查看所有运行container的日志
从理论上讲,如果xargs与
-P <count>
一起运行,这也可能适用于--follow
,其中计数高于正在运行的容器的数量。oiopk7p53#
我使用它的一个变体来live tail(--follow)所有日志,并指出此时哪个日志正在尾随。这个bash包括stdout和stderr。注意,您可能需要在之后清除/tmp目录中的 *.{log,err}。
希望这有帮助。伐木已经成为如此有问题的这些天,和其他得到我的草坪老头咆哮...
pb3s4cty4#
试试"看"
这里有一个快速而肮脏的码头集装箱的multitail/xtail。
工作原理:
watch
每隔几秒钟运行一次docker ps --format "{{.Names}}"
以获取所有运行容器的名称sort
进行排序xargs
将这些名称赋予docker logs
:docker logs
打印实际日志根据需要调整参数"--tail = 8",以便所有内容仍适合显示在一个屏幕上。
上面列出的"xargs"方法(在另一个用户的回答中)将在container停止和重新启动时停止工作。这里的"watch"方法没有这个问题(但也不是很好)。
krcsximq5#
如果您正在使用Docker Swarm,您可以通过以下方式找到您的服务
获取id,然后运行
如果服务是用tty定义的:true,那么你必须使用--raw标志运行。注意,这不会告诉你哪个容器给出了输出的日志条目。