在我们享受docker给我们带来的便利时,也时长有所困扰,docker服务越多,拉取镜像,运行容器占用磁盘空间越大,如果系统盘空间有限,那么就会造成磁盘系统盘爆掉。
下面提供下解决方案

服务器版本:ubuntu 16.04

1、查询docker现在的数据目录

docker info|tail
image.png
默认目录一般为:
“Docker Root Dir: /var/lib/docker”

2、创建新的docker目录

如果现在服务器上磁盘不够用,可以先挂载一块硬盘,然后创建数据目录
mkdir /data/docker

3、首先拷贝docker数据到新目录

rsync -aXS /var/lib/docker/. /data/docker/

注意
修改目录之前一定要先拷贝docker目录到新的目录,否则重启docker 后会发现所有正在运行的docker服务和镜像都不存在。

4、修改docker默认目录

备份文件
cp /etc/docker/daemon.json /etc/docker/daemon.json.bak

添加下面配置中第二行信息

{ “bip”:”192.168.0.1/16”,

“data-root”: “/data/docker”

}

5、重启服务加载配置

systemctl restart docker.service

6、删除原有的数据目录,释放磁盘空间

rm -rf /var/lib/docker

注意
进行此操作之前,一定要在业务低峰期操作,有业务中断可能性。

其他方法:
当然也可以不进行docker默认目录的修改,只需要将默认目录数据拷贝到新的数据目录,然后将新的数据目录软连接到docker默认目录,然后重启docker服务即可.

ln -fs /data/docker /var/lib/docker