docker 文件撑爆服务器根目录处理方案
2018-08-30 本文已影响34人
ChainZhang
本文为转载,原文:docker 文件撑爆服务器根目录处理方案
![](https://img.haomeiwen.com/i4822713/4571fc98ed31f97f.png)
1. 介绍
默认的情况下,docker启动的容器经过日积月累,会产生很多的大文件,大到足以撑满服务器的磁盘空间。这个时候该怎么办呢?答案当然是扩容了。
这里给一个常规的解决思路,给云服务器增加一块大磁盘,然后将docker的文件全部移到新挂载的磁盘里,再为docker创建一个软链接即可。
2. 解决方案
2.1 查看未挂载的磁盘
示例中的磁盘并不是另外加的一块,而且之前就存在的磁盘,但是有一大部分空间未分配。但实际上这跟新加的磁盘处理方案是一样的,下面就以此为例做个简单介绍。
查看磁盘情况
fdisk -l
![](https://img.haomeiwen.com/i4822713/0fd8264aacd87fc7.png)
可以看到xvda磁盘有200G的空间,但是只挂载了50G左右的,剩下的都在空闲状态,现在需要将剩下的150G左右的空间给利用上
2.2 挂载磁盘
2.2.1 建分区
执行以下命令,建立分区
fdisk /dev/xvda
按提示输入m
可查看命令帮助
![](https://img.haomeiwen.com/i4822713/3f31acf21a0bb261.png)
输入p
查看当前磁柱请情况
![](https://img.haomeiwen.com/i4822713/cee07cfca7d396b9.png)
输入 n
新建分区,并按提示选择分区类型,及起始和结束扇区
![](https://img.haomeiwen.com/i4822713/a86495c03a00b137.png)
然后输入 w
保存
最后再用reboot
重启服务器
2.2.2 挂载磁盘
重启服务器之后,为刚刚建立的分区格式化
mkfs.ext3 /dev/xvda3 // 将分区格式化为ext3格式
mkdir /data // 创建data目录
mount /dev /xvda3 /data/ // 将分区挂载到data目录
![](https://img.haomeiwen.com/i4822713/56a7178ef9beea9c.png)
可以用以下命令查看下挂载后的结果
df -h
![](https://img.haomeiwen.com/i4822713/06df3b347fb291b2.png)
2.2.3 设置开机自动挂载
编辑/etc/fstab文件,再最后面添加
/dev/sdc1(磁盘分区) /disk/disktwo(挂载目录) ext3(文件格式)defaults 0 0
2.3 创建docker大文件软链接
- 关闭docker服务
systemctl stop docker
- 在新挂载的data目录创建docker目录
mkdir /data/docker
- 将docker相关文件移到/data/docker目录下
mv /var/lib/docker/ /data/docker/
- 创建软链接
ln -s /data/docker/docker /var/lib
- 启动docker服务
systemctl start docker
- 查看结果
cd /var/lib
ls -l
![](https://img.haomeiwen.com/i4822713/0a19317fe398c420.png)
最后效果
df -h
![](https://img.haomeiwen.com/i4822713/f9c170ed034a7732.png)
之前这台服务器的根目录使用100%的磁盘,经过这个方法处理之后,降到45%了。
转载请注明出处:docker 文件撑爆服务器根目录处理方案