【问题标题】:Docker to store an application(service) logs in a folder and purge them on a timely basisDocker 将应用程序(服务)日志存储在文件夹中并及时清除它们
【发布时间】:2017-08-06 13:57:44
【问题描述】:

我刚刚查询了将服务/应用程序的日志存储在单独的文件夹中并经常清除它们的查询。

我们在 Webmin 服务器中使用 Docker 来部署我们的 Spring Boot 应用程序。我们希望实现上述目的,以防止 webmin 服务器中的空间混乱

以下是我们用于构建和运行服务的示例命令,

docker build -t application-service:latest ./application-service
docker run -p 1070:1070 -m 128m -d application-service

我使用“-m”来分配服务的内存而且,我只是想知道,是否有任何密钥可以将应用程序的日志存储在不同的路径中,以及我可以在 docker 或 webmin 服务器中执行的任何其他操作以清除该特定位置的日志

提前致谢!!!期待建议!!!

【问题讨论】:

    标签: java spring docker spring-boot webmin


    【解决方案1】:

    Docker 有多种处理容器日志的方法。您可以阅读他们的相关信息here

    您只需提供所需的日志记录驱动程序,同时调用 docker run 并使用 --log-driver 标志指定驱动程序及其配置。

    另一种可能的解决方案是使用已挂载的卷并配置在容器中运行的服务,以将其日志存储到应挂载的文件夹中。在这种情况下,您将可以访问主机中的日志。

    【讨论】:

    • 嗨@Stanislav,这是一个很好的信息。我可以检查 json 驱动程序的最大文件。我需要一个选项将日志单独存储在不应该删除的地方,而我确实删除了 docker 命令
    • @ChellaKumaran 我很确定,与驱动程序一起存储的日志不会在容器删除时消失,因为它发生了然后没有选择驱动程序。至少syslog 用日志创建一个单独的文件,即使在容器移除后也可用。
    • 但是syslog驱动需要单独的机器ip地址才能正确导出日志。我需要将服务器中的日志导出到不同的文件夹中。可行吗?
    • @ChellaKumaran with syslog,您也可以使用主机 ip,将其存储在同一台服务器上。并且使用 syslog 只是一个建议,可能其他一些驱动程序会更适合您的具体情况
    猜你喜欢
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    相关资源
    最近更新 更多