修改 Docker 数据目录为 /home/docker的详细、安全的操作步骤,适用于环境(CentOS,Docker 默认安装在 /var/lib/docker,且 /home 盘空间充足)。
✅【目标】
将 Docker 的默认数据目录从 /var/lib/docker 改为 /home/docker,释放 / 根分区的空间。
🛠️ 详细安全操作步骤
1. 查看当前 Docker 目录
确认当前目录使用的是 /var/lib/docker:
docker info | grep "Docker Root Dir"
输出示例:
Docker Root Dir: /var/lib/docker
2. 停止 Docker 服务
systemctl stop docker
确保 Docker 完全停止:
ps -ef | grep docker
如果还有 docker 相关进程,继续停止或杀掉。
3. 创建新的目录并赋权限
mkdir -p /home/docker
chown root:root /home/docker
chmod 711 /home/docker
4. 迁移原有 Docker 数据(安全迁移)
使用 rsync 代替 mv,保证拷贝完整:
rsync -aP /var/lib/docker/ /home/docker/
如果不想安装 rsync,可以使用 cp 但风险略高:
cp -a /var/lib/docker/. /home/docker/
5. 备份原始目录(以防万一)
mv /var/lib/docker /var/lib/docker.bak
6. 配置 Docker 使用新目录
编辑 Docker 的配置文件:
vi /etc/docker/daemon.json
如果文件不存在,就新建,添加如下内容:
{
"data-root": "/home/docker"
}
保存退出。
7. 启动 Docker 并验证
systemctl start docker
验证是否生效:
docker info | grep "Docker Root Dir"
输出应为:
Docker Root Dir: /home/docker
确认没有报错后,可以删掉旧备份:
rm -rf /var/lib/docker.bak
🔁 可选:开机自动启动 Docker
systemctl enable docker
✅ 检查效果
df -h
此时 / 根分区应该释放了 50G 左右空间,Docker 已使用 /home。