阿里云服务器扩容
起因: 项目启动出错
数据库连接获取失效,查看线上SpringCloundConfig日志
Docker服务中overlay数据过多,导致磁盘装满,无法进行构建docker容器问题。
追寻原因_1:
Docker在创建镜像会将本地本地镜像存储于/var/lib/docker下。
docker支持联合文件系统(一种文件存储模式) 现在docker默认使用的是OverlayFS(与AUFS相似的文件系统)的存储驱动,以overlay/overlay2存储(不过深了解)。
追寻原因_2:
在项目docker镜像中没有配置将项目日志文件写道容器外,导致大量输出文本日志被记录到overlay文件夹中,亦或是存储本地容器或镜像文件过多导致。
- du -hm --max-depth=1 /var/ | sort -n
查看某个目录的文件大小并排序(单位为MB) - du -sh *
查看目录下文件大小及目录占用空间大小 - df -h
查看系统中文件的使用情况
解决方案:
①.清理不用的docker镜像或容器:
参考链接: https://yq.aliyun.com/articles/272173
-
docker system df
查询镜像(Images)、容器(Containers)和本地卷(Local Volumes)等空间使用大户的空间占用情况 -
docker system prune
docker内置命令进行空间清理 -
1.该指令默认会清除所有如下资源:
已停止的容器(container)
未被任何容器所使用的卷(volume)
未被任何容器所关联的网络(network)
所有悬空镜像(image)。 -
2.该指令默认只会清除悬空镜像,未被使用的镜像不会被删除。
-
3.添加 -a 或 --all 参数后,可以一并清除所有未使用的镜像和悬空镜像。
-
4.可以添加 -f 或 --force 参数用以忽略相关告警确认信息。
-
5.指令结尾处会显示总计清理释放的空间大小。
效果:无效
②.迁移docker存储目录至大一点的目录。
参考链接: https://blog.csdn.net/ithomer/article/details/89530790
https://blog.csdn.net/weixin_32820767/article/details/81196250
无法创建文件夹,空间不足 未尝试。
③.扩充阿里云服务器磁盘。
因购买磁盘扩容后,需要自己在服务器上对购买空间进行扩展分区和挂载。
这里只需要按照阿里的文档来执行就可以
步骤1.https://help.aliyun.com/document_detail/113316.html?spm=a2c4g.11186623.6.769.12c74656Mg2TcA
步骤2.https://help.aliyun.com/document_detail/111738.html
效果:有效
未解决问题:
①.项目日志在docker容器下的文本输出问题未解决(写入文件中 定期删除)
②.docker中的文件直接对系统磁盘空间写入的解决方案
③.项目仍然无法获取到Config中的数据库配置,导致启动失败。