【教程】Docker更换存储位置

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

目录

背景说明

更换教程

[1. 停止 Docker 服务](#1. 停止 Docker 服务)

[2. 创建新的存储目录](#2. 创建新的存储目录)

[3. 编辑 Docker 配置文件](#3. 编辑 Docker 配置文件)

[4. 迁移已有数据到新位置](#4. 迁移已有数据到新位置)

[5. 启动 Docker 服务](#5. 启动 Docker 服务)

[6. 验证当前 Docker 存储位置](#6. 验证当前 Docker 存储位置)

注意事项


背景说明

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

bash 复制代码
/var/lib/docker

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

更换教程

1. 停止 Docker 服务

bash 复制代码
sudo systemctl stop docker

2. 创建新的存储目录

bash 复制代码
sudo mkdir -p /mnt/vdb/docker

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

3. 编辑 Docker 配置文件

Docker 的配置文件在:

bash 复制代码
sudo vim /etc/docker/daemon.json

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

修改或添加以下内容:

bash 复制代码
{ "data-root": "/mnt/vdb/docker" }

4. 迁移已有数据到新位置

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

bash 复制代码
sudo rsync -aP /var/lib/docker/ /mnt/vdb/docker/
  • 注意最后的**/** 是为了复制目录 内部内容 而不是目录本身,所以记得加

  • -a:归档模式,保留权限、符号链接等

  • -P:显示进度,并支持断点续传

5. 启动 Docker 服务

bash 复制代码
sudo systemctl start docker

6. 验证当前 Docker 存储位置

执行:

bash 复制代码
sudo docker info | grep "Docker Root Dir"

应输出类似:

Docker Root Dir: /mnt/vdb/docker

注意事项

  • 如果你使用的是 Docker Desktop(Windows/Mac),请在图形界面中设置,不适用此方案。

  • 如果你使用的是 自定义安装路径或容器运行时(如 containerd),对应方式可能不同。

  • 推荐使用 rsync 而非 cp 进行迁移,因为它能保留符号链接、权限等信息。

相关推荐
i***51264 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
neo_will_mvp5 小时前
IDC服务器故障排除思路
运维·服务器
8***84825 小时前
Nginx代理到https地址忽略证书验证配置
运维·nginx·https
傲世(C/C++,Linux)5 小时前
Linux系统编程——TCP客户端
linux·运维·tcp/ip
Empty_7775 小时前
K8S-Pod资源对象
java·容器·kubernetes
SelectDB5 小时前
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
运维·数据库·程序员
23124_805 小时前
网络管理-1
运维·服务器·前端
YongCheng_Liang5 小时前
Python实现PDF 转 JPG 批量转换工具
运维·python·pdf
S***26755 小时前
linux 设置tomcat开机启动
linux·运维·tomcat