服务通过docker部署,平时启动是好好的,突然有一天,更新服务时报错
INTERNAL ERROR: cannot create temporary directory!
查错步骤:
执行 df -h 命令,查看磁盘利用率,发现/dev/mapper/centos-root空间大小为50G,使用率为100%。
解决方法有两种,如下:
方法一:
操作步骤:执行 sudo du -sh * 命令查看具体哪一目录下磁盘使用过高,找到删掉没用的,就不报错了。
举例:我的直接问题原因是有一个后台服务,输出的日志没有按log4j规范编写代码,导致打印日志太多,使得并不富裕的服务器磁盘空间雪上加霜迅速被占满了,因为很清楚是哪个服务,所以我找到这个服务的容器id,把这个容器直接删除重建,这样就可以把那些占地方的日志也删掉,再重建服务容器就能腾出空间了。
显而易见的是,这样还是有个问题,如果我的这个服务日志打印方式不优化,磁盘空间仍然那么大,过不了多久还会出现同样的问题。
Ps:
1、查找和删除容器命令
docker ps -aqf name=xxxx(容器名称) ?--查找对应容器id
docker rm -f <containerid> ??--删除容器
2、(Log4j可以理解为微服务架构中常用的一个记录日志的组件,感兴趣可查看博客:https://blog.csdn.net/u013870094/article/details/79518028?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164724109916780264076207%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164724109916780264076207&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-79518028.pc_search_result_control_group&utm_term=log4j&spm=1018.2226.3001.4187)
方法二:
linux系统增加根目录磁盘空间操作步骤--VMware 虚拟机扩展空间后续操作
若大家的磁盘空间很小,不能满足日常服务所需,就需要扩展对应的磁盘空间。
附上非常好用的说明步骤:VMware 虚拟机(linux)增加根目录磁盘空间_我成长的地方的技术博客_51CTO博客
在最后,执行扩容多少G后,因文件系统不同,执行命令可能会不同,若按以上博客步骤实行失败,可执行下面这条命令:
xfs_growfs /dev/mapper/centos-root
再执行df -h 可以看到已经扩容成功
|