首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【教程】Docker更换存储位置

【教程】Docker更换存储位置

作者头像
小锋学长生活大爆炸
发布2025-05-31 16:00:42
发布2025-05-31 16:00:42
98800
代码可运行
举报
运行总次数:0
代码可运行

背景说明

Docker 默认将所有数据存储在:

代码语言:javascript
代码运行次数:0
运行
复制
/var/lib/docker

现在希望更换位置,比如存到/mnt下面去。

更换教程

1. 停止 Docker 服务
代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl stop docker
2. 创建新的存储目录
代码语言:javascript
代码运行次数:0
运行
复制
sudo mkdir -p /mnt/vdb/docker

你也可以指定其他路径,比如 /mnt/disk/docker,只要该目录有足够空间并已挂载好。

3. 编辑 Docker 配置文件

Docker 的配置文件在:

代码语言:javascript
代码运行次数:0
运行
复制
sudo vim /etc/docker/daemon.json

如果没有这个文件,可以手动创建它。

修改或添加以下内容:

代码语言:javascript
代码运行次数:0
运行
复制
{ "data-root": "/mnt/vdb/docker" }
4. 迁移已有数据到新位置

如果你不想丢弃原来已有的镜像或容器数据,可以执行以下命令迁移:

代码语言:javascript
代码运行次数:0
运行
复制
sudo rsync -aP /var/lib/docker/ /mnt/vdb/docker/
  • 注意最后的 / 是为了复制目录 内部内容 而不是目录本身,所以记得加
  • -a:归档模式,保留权限、符号链接等
  • -P:显示进度,并支持断点续传
5. 启动 Docker 服务
代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl start docker
6. 验证当前 Docker 存储位置

执行:

代码语言:javascript
代码运行次数:0
运行
复制
sudo docker info | grep "Docker Root Dir"

应输出类似:

Docker Root Dir: /mnt/vdb/docker

注意事项

  • 如果你使用的是 Docker Desktop(Windows/Mac),请在图形界面中设置,不适用此方案。
  • 如果你使用的是 自定义安装路径或容器运行时(如 containerd),对应方式可能不同。
  • 推荐使用 rsync 而非 cp 进行迁移,因为它能保留符号链接、权限等信息。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景说明
  • 更换教程
    • 1. 停止 Docker 服务
    • 2. 创建新的存储目录
    • 3. 编辑 Docker 配置文件
    • 4. 迁移已有数据到新位置
    • 5. 启动 Docker 服务
    • 6. 验证当前 Docker 存储位置
  • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档