1.问题描述
git之前还使用ok,突然出现访问500 错误,懵圈了
2.问题排查
1. 服务器查看,服务正常,没有异常出现。
2. 查找资料,需要查看是否磁盘已经满了果然使用df-h 后显示磁盘已经满了,且容器和本地都满了,而且cd 补充指令都没法补充了
3.问题解决
方法一:扩充磁盘
可以直接扩充磁盘,这是最直接最快的解决方式
方法二:释放磁盘资源
但是有时候资源有限的情况下,无法扩充磁盘,那就只能处理释放资源。
解决方法:
1. 删除无用的容器、镜像和网络,是可以解决的,前提是你曾经在创建容器的时候将容器数据映射本地进行备份处理过,这种处理后是可以恢复容器中的数据的。
docker system prune
2. docker system prune
配合--volumes
选项来清理未使用的卷。这种一旦删除卷后基本不会恢复数据。
查看1,2 之后担心git中的代码无法恢复,因为这个是突发情况,代码没有及时备份,即使创建容器有使用 “-v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce” 映射本地进行备份过,但是也担心一旦执行指令后无法挽回,纠结之下,查看是否还有其他的解决方法。
方法三:自己的解决方法(如何释放资源)
就是查找占用磁盘最大的文件究竟是哪个造成的,功夫不负有心人,还真查到了。hhh。
1. 因为我们之前看到容器 /var/lib/docker/ 下占有资源是满的,进入该目录通过“du -sh * ”查看到containers 占有磁盘最
2. 进入containers该目录中的文件夹发现有个容器目录,进入该目录下执行:du -sh * 查看
3. 进入该目录查看发现了占用最大的文件,如下图所示:
查询资料后发现删除该文件不影响使用,如下所示:
4. 果断删除 :rm -rf 文件名称
5. 再次查看文件夹:df -h 发现磁盘被释放了,哈哈哈
6. systemctl status docker.service 查看容器状态(由于之前暂停过容器,且由于资源比较满无法启动),使其一直处于失败状态:
7. 执行:systemctl start docker.service 启动成功
8. 访问git页面,成功