一、背景描述
当前机器中工740G硬盘, 其中根目录分配了100G, 其余640G挂载到了/home2目录下,docker的默认安装路径为/var/lib/docker/,之前安装的路径是走的默认路径, 随着业务和docker镜像的增多, 不断挤占系统盘空间, 将docker路径迁移到 /home2路径下的动作刻不容缓。
二、检查docker的基本信息
执行命令,检查docker信息:
docker info
可以看到docker存储驱动程序和默认存储位置:
- Storage Driver: overlay2 驱动程序为overlay2
- Docker Root Dir: /var/lib/docker 默认存储位置为:/var/lib/docker
三、具体步骤
1、关闭docker服务
sudo systemctl stop docker.service
2、在目标盘中创建目录
sudo mkdir -p /home2/mnt/docker
3、将docker现在的文件复制到目标文件中
sudo cp -r /var/lib/docker/* /home2/mnt/docker/
cd /home2/mnt/docker/
# 检查文件
ls
builder buildkit containerd containers image network overlay2 plugins runtimes swarm tmp trust volumes
可以看到docker目录下所有文件都已经复制了过去
4、修改配置文件
4.1 编辑 /etc/docker/daemon.json 文件
sudo vim /etc/docker/daemon.json
在文件中增加这一行, 也就是目标的docker文件存储路径 加到这个配置文件中:
{
“data-root”: “/home2/mnt/docker”
}
4.2 编辑docker配置文件
sudo vim /etc/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph=/home2/mnt/docker --storage-driver=overlay2
这里增加了两个配置:
–graph=/home2/mnt/docker # 修改后的docker路径
–storage-driver=overlay2 # 驱动程序
5、 保存退出,然后重启 docker 服务
重启docker服务,就可以更新docker默认的镜像容器保存位置,特别注意,如果新的保存位置里拷贝了原来容器保存位置里的所有内容,那么镜像数据等也就迁移过来了。
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker
四、检查docker
仍然运行 , 可以看到, docker存储路径修改成功
docker info