在实践应用的docker的过程中,某一天突然发现磁盘被沾满,使用df -h命令和du -sh命令逐级查看发现撑爆磁盘的文件为docker生成的/var/lib/docker/container的文件。
而docker生成的这些文件中占用空间最大的是*-json.log文件。而此文件的内容为docker生成的日志文件。首先核查该文件是否有用,如果有用可先进行备份,然后进行文件内容的清除。
清除方法有两种,第一种直接删除该文件,但因为该文件在docker运行时有程序占用,因此可能无法清除。因此可进行需要重启docker程序。
另外一种方案就是使用:cat /dev/null > *-json.log命令进行清除,这样不需要重启docker,只是把该文件的内容清空。
但需要注意的是,无论以上两种清除方法的哪一种,清除之后,docker依旧会继续产生日志,因此要做好定时备份、清除的工作。
其中*-json.log文件的目录路径类似以下目录路径:
/var/lib/docker/containers/f2a8646430bd5c5bb09cd67240e9363c28fa8498097db047287425ad56ab5330
1
如果是在aws服务下,清除时需要使用root角色,可先使用命令sudo -s 切换。