引言
随着docker技术的广泛应用,它极大地简化了复杂项目的部署与维护流程,仅凭单一镜像即可轻松运行。然而,随着数据量不断增长,docker的默认数据存储方式可能逐渐成为挑战,尤其是当默认安装于根目录(“/”)时,可能迅速消耗宝贵的系统空间。面对根目录空间不足的困境,尤其是在加载大型镜像时,调整docker的root dir至专用的挂载数据目录显得尤为关键。
为有效应对此问题,将docker的数据存储迁移至专门配置的存储位置,不仅可以释放根目录的紧张空间,还能优化数据管理和扩展性。通过灵活配置docker的存储路径,用户可以确保即使在处理大型镜像或数据集时,系统也能保持高效与稳定。
一、 查看默认目录(查看存储路径是否在系统盘)
docker info
一般默认目录都是:
docker root dir: /var/lib/docker
二、 修改默认目录
1. 确保停止 docker 服务
systemctl stop docker.service
有的人可能会遇到以下错误:
warning: stopping docker.service, but it can still be activated by:
docker.socket
那就先执行 systemctl stop docker.socket 再执行 systemctl stop docker.service
2.创建一个新的目录,用于存储 docker 数据。
例如,将数据存储在 /www/docker/: mkdir -p /www/docker/
3.复制 docker 数据目录
将当前 /var/lib/docker 目录下的所有数据复制到新目录,使用 rsync 替代 cp 解决断点续传问题:
rsync -avz /var/lib/docker/* /home/docker/
4. 修改 / etc/docker/daemon.json 文件,添加更换目录地址
默认情况下,docker 使用 /etc/docker/daemon.json 配置文件,如果没有此文件则需要手动创建
touch /etc/docker/daemon.json
vim /etc/docker/daemon.json 新增以下信息: { "data-root": "/www/docker" }
“/www/docker” 即为我的目标地址
保存并关闭文件
5. 启动 docker服务
systemctl start docker
or
根据刚才的关闭操作,依次启动 socket 和 serice
systemctl start docker.socket systemctl start docker.service
6. 验证
再次查看 docker root dir 的值
docker info df -h docker ps //或者直接验证一下服务是否可用
查看 docker root dir 是否修改为指定目录
再删除原目录
cd /var/lib rm -rf docker
注意:
- 在执行这些步骤之前,请确保你已备份所有重要的 docker 数据,以防意外丢失。
- 在移动数据和更改配置后,务必进行测试以确保一切正常运行。
到此这篇关于修改docker默认存储路径的步骤详解的文章就介绍到这了,更多相关修改docker路径内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论