当前位置: 首页 > article >正文

修改Docker默认存储路径,解决系统盘占用90%+问题(修改docker root dir)

随着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 数据,以防意外丢失。
  • 在移动数据和更改配置后,务必进行测试以确保一切正常运行。

http://www.kler.cn/news/321175.html

相关文章:

  • 【笔记】数据结构|链表算法总结|快慢指针场景和解决方案|链表归并算法和插入算法|2012 42
  • 共享单车轨迹数据分析:以厦门市共享单车数据为例(八)
  • 爬虫过程 | 蜘蛛程序爬取数据流程(初学者适用)
  • P335_0334韩顺平Java_零钱通介绍
  • 华为NAT ALG技术的实现
  • AttributeError: ‘Sequential‘ object has no attribute ‘predict_classes‘如何解决
  • 【Python报错已解决】ModuleNotFoundError: No module named ‘psutil’
  • Android——运行时动态申请权限
  • [Redis][Hash]详细讲解
  • 828华为云征文 | 在华为云X实例上部署微服务架构的文物大数据管理平台的实践
  • linux命令:显示已安装在linux内核的模块的详细信息的工具modinfo详解
  • 物理学基础精解【7】
  • Docker 容器技术:颠覆传统,重塑软件世界的新势力
  • 【RAG研究1】导言-我打算如何对RAG进行全面且深入的研究
  • 【后端开发】JavaEE初阶——计算机是如何工作的???
  • 职业技能大赛-单元测试笔记(assertThat)分享
  • [SDX35]SDX35如何查看GPIO的Base值
  • 力扣随机一题——所有元音按顺序排序的最长字符串
  • Linux嵌入式驱动开发指南(速记版)---Linux基础篇
  • 【计算机组成原理】实验一:运算器输入锁存器数据写实验
  • Windows系统IP地址设置
  • 小白业主选瓷砖不知道质量好坏怎么办?三种方法交给你
  • 【PyTorch】张量操作与线性回归
  • 【学习笔记】网络设备(华为交换机)基础知识7——查看硬件信息 ① display device 命令详解
  • 【Redis入门到精通七】详解Redis持久化机制(AOF,RDB)
  • UBUNTU20.04安装CH384串口卡驱动
  • 【ARM】SOC的多核启动流程详解
  • 关于在vue2中给el-input等输入框的placeholder加样式
  • 【2024】前端学习笔记9-内部样式表-外部导入样式表-类选择器
  • MCUboot 和 U-Boot区别