删除在/ var/lib/docker/containers/HASH中生成的docker日志是否安全

wuk*_*ong 3 docker boot2docker

现在的日志目前是13GB,我不知道删除日志是否安全,以及如何使日志变小 __CODE__

lar*_*sks 7

恭喜你,你发现了Docker的一个未解决的大问题!

正如纳撒尼尔所说,Docker假设它拥有完整的所有权,/var/lib/docker因此试图从Docker后面删除文件可能无法正常工作.

但是,根据问题7333PR 9753中的组件,看起来人们成功使用logrotatecopytruncate旋转泊坞日志的指令.这两个链接值得一读,因为它们包含了对Docker日志记录陷阱和一些潜在解决方案的长期讨论.

理想情况下,Docker本身对日志管理有更好的原生支持.在此之前,有以下几种方法可供考虑:

如果您控制应用程序的源,则可以将所有内容配置为记录到syslog而不是stdout/stderr.然后,您可以拥有各种解决方案,从在容器内运行syslog服务到在容器内部暴露主机/dev/log.

另一个选择是systemd在容器内运行,并使用它来启动您的服务.systemd将从您的服务中收集stdout/stderr并将其提供给journald,而journald将处理日志轮换等事情(并且还为您提供了一种相当灵活的查询日志机制).