gpt4 book ai didi

docker-compose:即使容器关闭,如何继续以 'follow' 模式显示日志?

转载 作者:行者123 更新时间:2023-12-02 18:26:50 31 4
gpt4 key购买 nike

如果您在一个终端中运行 docker-compose logs -f service 并尝试在另一个终端中重新启动 service,那么日志记录将停止,您将需要启动 dkc logs 再次。如何保持 dkc logs 运行?

到目前为止我找到的唯一解决方案是运行额外的 noop 服务,它不允许 dkc logs 关闭。如果这是唯一的解决方案,那么您对 ​​docker hub 上已经存在的最简单的 noop 服务有什么建议吗?

我的解决方法:

  1. docker-compose.override.yml 添加新的 noop 服务(我选择 redis 是因为它已经安装并且非常轻量级):
services: 
noop:
image: redis:5-alpine
  1. 运行 docker-compose logs -f service noop 而不是仅使用 service
  2. 运行 docker-compose 停止/重启服务logs 进程将由 noop 服务保持事件状态。

缺点:

  • 要运行的额外内容
  • 不能在未指定服务的情况下使用 dkc stopdkc restart

最佳答案

也许是关于您正在记录的内容的一些信息。例如,在 nginx 或 php 容器上,我们只需将日志文件移出容器,只需使用卷将它们挂载到主机上,然后您就可以根据需要解析它们。

    volumes:
- /var/log/mysql/error_service_xy.log:/var/log/mysql/error.log

关于docker-compose:即使容器关闭,如何继续以 'follow' 模式显示日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60238707/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com