如何解决Linux系统下Docker占满分区的问题-成都快上网建站

如何解决Linux系统下Docker占满分区的问题

今天碰到了一个问题,访问数据库的时候,发现访问不了,爆存储空间不够的错误,随后输入命令:

创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为朝阳县企业提供专业的成都网站设计、做网站朝阳县网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

df -h

发现 /dev/vda1 ,也就是系统盘被占满了。不是专职的运维,所以,就开始百度解决问题。下面是解决路径:

首先是找到大文件存储位置,通过命令 du -sh /* ,找到一些目录后,发现有几个目录特别大,比如 /var ;

然后确认分区, df /var ,发现这个目录的分区是 /dev/vda1 ,于是就进入这个目录,开始删东西。我开始删掉了很多日志,但发现并没有多少作用,于是再一次使用命令: du -sh * ;

/var 目录下发现 /lib/docker 文件夹占用最大,于是就知道问题所在了,docker的镜像和容器默认放在目录 /var/lib/docker 下,占用 6.6G ;

接下来的问题就懂了,就是解决docker占用空间过大的问题,于是一开始的思路是删除不需要的容器和镜像,但发现很悲剧的是空间没有减少。于是,就又开始第二个思路,就是把我需要的镜像和容器导出来,但更悲剧的是,提示空间不足,无法导出……

因为镜像是弄了很久的,所以不想轻易舍弃。就想了很久,终于想出了一个主意。 先把 /var/lib/docker 文件夹移出去,然后重新设置docker的数据存储位置。

步骤如下(CentOS):

/etc/init.d/docker stop # 关闭docker
mv /var/lib/docker /home/docker # 迁出docker的数据(home目录没有挂载在系统盘),至此,系统盘的问题解决

然后是设置docker是数据存储位置,编辑 /etc/sysconfig/docker 文件, 添加-g 参数的设置, 如下:

other_args="-g /home/docker"

启动docker

/etc/init.d/docker start

至此,问题解决。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


文章名称:如何解决Linux系统下Docker占满分区的问题
网站URL:http://kswjz.com/article/igjdge.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流