今天碰到了一个问题,访问数据库的时候,发现访问不了,爆存储空间不够的错误,随后输入命令:
df - h
发现<代码>/dev/vda1> 代码,也就是系统盘被占满了。不是专职的运维,所以,就开始百度解决问题。下面是解决路径:
首先是找到大文件存储位置,通过命令<代码>杜sh/*> 代码,找到一些目录后,发现有几个目录特别大,比如/var;
然后确认分区,<代码> df/var> 代码,发现这个目录的分区是<代码>/dev/vda1> 代码,于是就进入这个目录,开始删东西。我开始删掉了很多日志,但发现并没有多少作用,于是再一次使用命令:<代码>杜sh *> 代码;
在<代码>/var/<代码>目录下发现<代码>/lib/docker 代码>文件夹占用最大,于是就知道问题所在了,码头工人的镜像和容器默认放在目录<代码>/var/lib/码头工人> 代码下,占用6.6 g;
接下来的问题就懂了,就是解决码头工人占用空间过大的问题,于是一开始的思路是删除不需要的容器和镜像,但发现很悲剧的是空间没有减少。于是,就又开始第二个思路,就是把我需要的镜像和容器导出来,但更悲剧的是,提示空间不足,无法导出……
因为镜像是弄了很久的,所以不想轻易舍弃。就想了很久,终于想出了一个主意。先把/var/lib/docker文件夹移出去,然后重新设置码头工人的数据存储位置。
步骤如下(CentOS):
/etc/init.d/码头工人停止#关闭码头工人 mv/var/lib/docker/home/docker #迁出码头工人的数据(目录没有挂载在系统盘),至此,系统盘的问题解决
然后是设置码头工人是数据存储位置,编辑/etc/sysconfig/docker文件,添加- g参数的设置,如下:
other_args=" - g/home/docker "
启动码头工人
/etc/init.d/码头工人开始
至此,问题解决。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。