长时间使用docker 会发现日志文件越来越大,很大的历史文件查看不方面
我们可以为容器配置不同的日志驱动程序 默认情况下,容器的stdout和stderr写在位于/var/lib/docker/containers/[container-id]/[container-id]-json.log中的JSON文件中。如果将其置于无人看管状态,则会占用大量磁盘空间。
![](https://s1.51cto.com/images/blog/201906/20/8ea6dab1e9fba88f083bab31530f8fa5.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
手动清除日志
echo ""> dockerLogFile
设置自动轮换
# A 设置daemon.json
root@mysql-2:~# cat /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
"labels": "production_status",
"env": "os,customer"
}
}
在重载docker即可生效,新的配置会自动应用到新创建的容器
这样就会 生成3个10m的文件 多余的会被切割掉
#B 启动容器是调用
$ docker run -itd --name centos_latest --log-driver json-file --log-opt max-size=10m --log-opt max-file=10 max-buffer-size=4m centos