windows 上的官方 Filebeat docker 运行 不允许应用程序轮换日志

Official Filebeat docker running on windows not allowing application to rotate the log

我正在使用 filebeat 图像 - docker.elastic.co/beats/filebeat:5.4.1 在 windows 上本地设置 filebeat 容器,以从应用程序读取日志并将数据发送到 logstash。生成日志的应用程序将在“1MB”大小后轮换它。

我担心的是, - 当 filebeat 容器正在读取文件时,应用程序无法在 1MB 大小后轮换日志文件。

如果我 运行 filebeat 作为服务(不在 docker 内)它会按预期工作,即日志在 1MB 后轮换。

我怎样才能避免这种情况?

编辑:仅供参考,如果有帮助,我在 linux 中没有看到这个问题。 Docker filebeat 容器允许应用程序旋转文件。

我根据与弹性团队成员在 - https://discuss.elastic.co/t/filebeat-docker-running-on-windows-not-allowing-application-to-rotate-the-log/89616/11

的讨论得出这个答案

这是响应 - “VBoxHeadless.exe 以 RW- 打开日志文件,我会说 VirtualBox 使用的共享文件系统是罪魁祸首。它没有用 [=22 打开文件=] 这样其他应用程序就无法删除或重命名该文件。"

所以它是持有文件文件处理程序的 VirtualBox 而不是持有句柄的 filebeat。

我得到的一个建议是在 windows 上创建 docker VM 时尝试使用 Hyper-V 驱动程序而不是 VirtualBox 驱动程序。

正如我在查询中提到的,它不会在 linux docker 上发生,因为那里没有虚拟机。