Docker更换存储位置的实现
作者:小锋学长生活大爆炸
本文主要介绍了Docker更换存储位置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
背景说明
Docker 默认将所有数据存储在:
/var/lib/docker
现在希望更换位置,比如存到/mnt下面去。
更换教程
1. 停止 Docker 服务
sudo systemctl stop docker
2. 创建新的存储目录
sudo mkdir -p /mnt/vdb/docker
你也可以指定其他路径,比如 /mnt/disk/docker
,只要该目录有足够空间并已挂载好。
3. 编辑 Docker 配置文件
Docker 的配置文件在:
sudo vim /etc/docker/daemon.json
如果没有这个文件,可以手动创建它。
修改或添加以下内容:
{ "data-root": "/mnt/vdb/docker" }
4. 迁移已有数据到新位置
如果你不想丢弃原来已有的镜像或容器数据,可以执行以下命令迁移:
sudo rsync -aP /var/lib/docker/ /mnt/vdb/docker/
注意最后的 / 是为了复制目录 内部内容 而不是目录本身,所以记得加。
-a
:归档模式,保留权限、符号链接等-P
:显示进度,并支持断点续传
5. 启动 Docker 服务
sudo systemctl start docker
6. 验证当前 Docker 存储位置
执行:
sudo docker info | grep "Docker Root Dir"
应输出类似:
Docker Root Dir: /mnt/vdb/docker
注意事项
如果你使用的是 Docker Desktop(Windows/Mac),请在图形界面中设置,不适用此方案。
如果你使用的是 自定义安装路径或容器运行时(如 containerd),对应方式可能不同。
推荐使用
rsync
而非cp
进行迁移,因为它能保留符号链接、权限等信息。
到此这篇关于Docker更换存储位置的实现的文章就介绍到这了,更多相关Docker更换存储位置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!