Docker阻止装入的卷

问题描述

情况如下:

  • spring-boot服务通过回写日志将日志写入output.log文件
  • Logback配置为轮换日志,它会定期清空output.log,将日志放入轮换策略中指定的存档文件中。也就是说,output.log本身就是具有最新日志的临时缓冲区
  • 一切正常:https://www.youtube.com/watch?v=hrWmfC3y9zM
  • 但是,如果我们将日志文件夹从外部容器安装到主机卷上(并且我们需要使用第三方实用程序进行读取),那么一切都会崩溃:output.log会自动清除,无限期地增长,并且轮换策略中指定的归档文件根本不会创建。即使没有人从主机上的该目录中读取文件,也会发生这种情况。

例如

1)容器内的目录:

/app/
    |-> service.jar

缓冲区日志写在这里:

/app/logs/
         |-> output.log

旋转的存档日志文件存储在此处

/app/
    | -> out1.log
    | -> out2.log

目录已在docker compose中安装到主机上

volumes:
   - /LOGS:/app/logs:rw

2。第二个容器读取日志的安装方式如下:

volumes:
   - /LOGS:/var/log

但是即使停止读取容器,文件也会被锁定。只需从源容器安装文件夹就足以阻止

这是docker卷的某种功能吗?有一些解决方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)