docker overlay 占用空间太大,迁移到 /data/

将 Docker 的 overlay 存储驱动迁移到 /data/ 目录下,可以通过以下步骤完成:

1. 停止 Docker 服务

首先,停止 Docker 服务以确保没有容器在运行,并且数据不会被写入到当前的存储位置。

bash 复制代码
sudo systemctl stop docker

2. 备份现有数据

在进行任何迁移操作之前,建议备份现有的 Docker 数据,以防止数据丢失。

bash 复制代码
sudo tar -czvf docker_backup.tar.gz /var/lib/docker

3. 创建新的存储目录

/data/ 目录下创建一个新的目录来存放 Docker 数据。

bash 复制代码
sudo mkdir -p /data/docker

4. 移动现有数据到新目录

/var/lib/docker 目录下的所有内容移动到 /data/docker

bash 复制代码
sudo mv /var/lib/docker/* /data/docker/

5. 更新 Docker 配置

编辑 Docker 的配置文件 /etc/docker/daemon.json,添加或修改 data-root 配置项,指向新的存储目录。

json 复制代码
{
  "data-root": "/data/docker"
}

如果没有 /etc/docker/daemon.json 文件,可以创建一个新的。

6. 启动 Docker 服务

重新启动 Docker 服务,使其加载新的配置。

bash 复制代码
sudo systemctl start docker

7. 验证迁移

检查 Docker 服务是否正常运行,并且容器和镜像是否正常加载。

bash 复制代码
sudo docker info

在输出中,确认 Docker Root Dir 是否已经更改为 /data/docker

8. 清理旧数据(可选)

如果确认迁移成功,并且所有数据都已正确加载,可以删除旧的 /var/lib/docker 目录。

bash 复制代码
sudo rm -rf /var/lib/docker

9. 监控磁盘空间

迁移完成后,监控 /data/ 目录的磁盘空间使用情况,确保没有异常增长。

bash 复制代码
df -h /data/

通过以上步骤,你应该能够成功将 Docker 的 overlay 存储驱动迁移到 /data/ 目录下。

相关推荐
鸠摩智首席音效师4 小时前
如何使用 docker exec 在容器中运行命令 ?
运维·docker·容器
Hoking5 小时前
TimescaleDB(PostgreSQL)流复制集群容器化部署(docker-compose)
docker·postgresql·timescaledb·流复制
水星灭绝6 小时前
win11+wsl2+docker
运维·docker·容器
supersolon10 小时前
Windows环境docker安装OpenClaw
docker·ai·docker-compose·openclaw·龙虾
vpk11211 小时前
使用 Docker Compose 快速安装 MongoDB
mongodb·docker·容器
培小新12 小时前
五、Dokcer网络
linux·运维·docker·容器
杭州杭州杭州12 小时前
Docker实验2----4
运维·docker·容器
莫白媛13 小时前
Linux中Docker介绍与使用小白篇
linux·运维·docker
F1FJJ14 小时前
一个 CLI 工具的开源迭代记录:从单二进制到全平台分发
网络·网络协议·docker·golang·开源·开源软件
春日见14 小时前
自动驾驶的四个演进阶段
开发语言·人工智能·驱动开发·matlab·docker·计算机外设