用过docker部署的童鞋可能都遇到过,docker在运行一段时间,可能会出现磁盘空间被占满的情况。
经过楼主排查后发现,docker容器自身在运行时会不断产生一个以容器id-json命名的log文件,一般是在/var/lib/docker/containers/目录下,该日志文件会严重占用磁盘空间。
以下介绍几种解决方案:
- 应急解决: 清空log日志
echo ‘’ > 容器id-json.log
- 运行时控制:
max-size 最大数值
max-file 最大日志数
$ docker run -it --log-opt max-size=10m --log-opt max-file=3 redis
- 全局配置:
创建或修改文件 /etc/docker/daemon.json,并增加以下配置
复制代码
{
“log-driver”:“json-file”,
“log-opts”:{
“max-size” :“50m”,“max-file”:“1”
}
}
复制代码
然后重启dokcer
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
特别注意:
已存在的容器不会生效,需要重建该容器才可以使配置生效