Loading... # 0x0 docker的容器日志一般存储在`/var/lib/docker/containers/`下,容器的id的目录下有一个`-json.log`结尾的文件就是日志文件。 因为linux的文件系统原因,正在运行的容器中的日志直接删除是不会中断进程与文件的连接的,说人话就是“删不掉”(可以删除,但磁盘空间不会释放),所以直接删除就必须停止docker容器。 # 0x01 所以如果想不停docker容器的情况下清理日志,那就清空日志文件(这里用词是“清空”)。 ```sh echo "" | sudo tee /var/lib/docker/containers/容器id/容器id-json.log ``` # 0x02 这里我使用`find`命令批量清理: ```sh find /var/lib/docker/containers/ -name *-json.log -size +10M -ok dd if=/dev/null of={} \; ``` 参数: `-name` 文件名匹配 `-size +10M` 匹配大小超过10M的文件 `-ok` 后面接匹配到文件后执行命令,会提示输入`y/n`的保险来确认是否执行命令,如果想不提示`y/n`就自动处理就将`-ok`替换为`-exec`,命令最后面接`\;`结束命令 这里将文件置空我使用的是`dd if=/dev/null of={}`,其中的`{}`表示文件路径,是`find`的占位符会自动替换为匹配到的文件路径。 Last modification:January 5, 2023 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 2 如果觉得我的文章对你有用,请随意赞赏
2 comments
不错不错,我喜欢看 www.jiwenlaw.com
妙啊OωO