Ant*_*lor 15 docker docker-compose
我目前使用docker作为我的后端,当我第一次启动它时
docker-compose up
Run Code Online (Sandbox Code Playgroud)
我一次得到所有4个码头工人的日志输出,所以我可以看到他们在请求进来时如何互相交互.看起来像这样,一个请求从nginx到couchdb

现在的问题是我在GCE上运行负载均衡,当新的VM旋转时,它会自动启动docker并正常运行,我希望能够访问负载均衡的VM并查看实时日志,但是我无法让docker允许我这种风格,当我使用日志时,它给我正常的所有白色字体,没有标签来自哪里.
运用
docker events
Run Code Online (Sandbox Code Playgroud)
什么都不做,它不会返回任何信息.
tldr; 获取视图的最佳方法是什么,与运行"docker-compose up"时获得的日志输出相同
Ant*_*lor 26
如果使用docker-compose,则使用
docker-compose logs --tail=0 --follow
Run Code Online (Sandbox Code Playgroud)
代替
docker logs --tail=0 --follow
Run Code Online (Sandbox Code Playgroud)
这将获得我最初寻找的输出.
Yur*_*rik 17
您可以查看所有正在运行的容器的日志
docker ps -q | xargs -L 1 docker logs
Run Code Online (Sandbox Code Playgroud)
理论上,--follow如果运行xargs,这也可能适用于-P <count>,其中计数高于正在运行的容器的数量.
Boe*_*Boy 10
我使用它的一个变体来跟踪(--follow)所有日志并指示当时哪个日志在拖尾。这个 bash 包括 stdout 和 stderr。请注意,您可能需要在之后清除 *.{log,err} 的 /tmp 目录。
for c in $(docker ps -a --format="{{.Names}}")
do
docker logs -f $c > /tmp/$c.log 2> /tmp/$c.err &
done
tail -f /tmp/*.{log,err}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。如今,伐木问题变得如此严重,而其他离开我的草坪的老人咆哮......
这是一个用于 docker 容器的快速而肮脏的 multitail/xtail。
watch 'docker ps --format "{{.Names}}" | sort | xargs --verbose --max-args=1 -- docker logs --tail=8 --timestamps'
Run Code Online (Sandbox Code Playgroud)
这是如何运作的:
watch每隔几秒运行一次
docker ps --format "{{.Names}}"获取所有正在运行的容器的名称sort对它们进行排序xargs将这些名称赋予docker logs:
docker logs打印实际日志根据需要调整参数“--tail=8”,以便所有内容仍然适合一个屏幕。
上面列出的“xargs”方法(在另一个用户的答案中)将在容器停止和重新启动时停止工作。这里的“观察”方法就不存在这个问题。(但这也不是很好。)
| 归档时间: |
|
| 查看次数: |
14400 次 |
| 最近记录: |