随着docker的使用时间越来越长,导致镜像和容器越来越多,占满了系统盘空间,这时,我们需要给它们搬个家了
下面咱们提供三种方式
docker info :查看docker的存储等相关信息
1、停止docker 服务
service docker stop
2、备份数据到新的存放路径
cp -r /var/lib/docker/* /mnt/docker
3、备份 /var/lib/docker 路径
mv /var/lib/docker /var/lib/dockerbak}
4、创建软连接
ln -s /mnt/docker /var/lib/docker
5、启动docker
service docker start
如果docker完整,并可用,可删除原来的备份文件
此方法,启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。
关闭docker
在 Ubuntu 中的位置是:
/etc/default/docker
在 CentOS 中的位置是:
/etc/sysconfig/docker
在OPTIONS加上下面那段代码: --graph=/local/docker 新的存储目录
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --graph=/local/docker --insecure-registry=0.0.0.0/0'
重启docker后,docker info 就可以看到目录换了
如果 Docker 的版本是 1.12 或以上的,可以修改或新建 daemon.json 文件。修改后会立即生效,不需重启 Docker 服务
# 修改配置文件
$ vim /etc/docker/daemon.json
{
"graph": "/new-path/docker"
}
注意:如果之前有镜像和对应的数据,执行完这一步,默认存储路径是改掉了,但是会导致之前的镜像找不到,可以把/var/lib/docker/目录下的所有文件 cp -R 到挂载有数据分区的目录下 即:
cp -R /var/lib/docker/* /data/tootls/docker/