异常
像往常一样部署项目./deploy.sh xx.jar
时,失败报Docker have no space left on device
错误。于是我就用docker system prune
删除无用的doker数据,但是还是依然报此错误。那就要想占据磁盘空间的主要因素一般是日志和docker所占的空间了,所以我们可以进行如下操作。
解决办法
删除日志
- df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
df -h
- 查看日志磁盘使用率
du /var/log/ -h
- 进入日志目录,查看
cd /var/log
ls -alh
这里面的日志一般都能删除,删除占磁盘空间大的,如删除文件前缀为btmp的
rm btmp-* -f
- 再次查看磁盘信息
df
删除docker所占磁盘空间
- 查看镜像
docker images
- 批量删除无用镜像
docker images |cut -c41-53 |xargs docker rmi
此条命令只能删除不重名且没有依赖的镜像 - 删除重名并且有依赖的废弃的镜像,例如删除5个月前的镜像
docker images |grep '5 months ago' |cut -c41-53 |xargs docker rmi -f
- df再次查看磁盘所占空间
df
最后附送查看定时任务命令,😄
crontab -l