docker项目磁盘满问题解决
Posted gsls200808
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker项目磁盘满问题解决相关的知识,希望对你有一定的参考价值。
近期有个docker项目的虚拟机磁盘满,分享一下解决过程
1.查询大于800M的文件
find / -type f -size +800M
或者
find / -type f -size +800M -print0 |xargs -0 du -h
2.删除对应docker目录的大文件
但是总这样做治标不治本,通过观察大文件目录发现总是docker容器日志文件过大
目录为
/var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log
3.解决方案
通过配置容器docker-compose.yml的max-size选项来实现日志大小限制:
nginx:
image: nginx:1.12.1
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-size参数含义,限制json.log日志文件大小,这个限制不影响容器运行,也不影响probackend目录的日志。
另一方案:
全局配置docker 只对新容器有效
新建/etc/docker/daemon.json,若有就不用新建了
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://f613ce8f.m.daocloud.io"],
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
max-size含义与上面的类似。
4.重启容器并加载yml配置
docker 重启特定容器并重载yml配置
docker-compose up --detach --build "service name"
如
docker-compose up --detach --build "basic"
docker 重启所有容器并重载yml配置
docker-compose up -d
以上是关于docker项目磁盘满问题解决的主要内容,如果未能解决你的问题,请参考以下文章