解决docker目录内存不足扩容处理

server/2024/12/22 18:47:00/

当我们使用docker时,经常会创建新镜像和新容器,在新容器中又会安装各种包,这些东西不是虚拟的,而是实实在在存于我们的磁盘中,默认在/var/lib/docker中,这个目录是属于系统盘的,而系统盘的空间往往不大,这样就会造成,随着时间的推移,docker越来越大,最后系统盘的空间被占满,所以这个时候就需要迁移docker的存储目录到更大的盘,才能把系统盘的空间腾出来。

当重启容器提示no space left 就是内存不足

1、查看服务器所有磁盘的使用情况:

df -h

在这里插入图片描述
可以看到每个盘的大小,这里可以看到/dev/mapper/centos-root总大小是50G(相对其他盘小太多),之前docker给占满了,因为我后面给docker相关迁移到了home下面,所以空出很大的空间,可以看到/dev/mapper/centos-home空间总大小984G,挂载点是/home,于是我给docker相关的目录迁移到/home下了

docker_13">2、查看docker镜像和容器存储目录的空间大小

du -sh /var/lib/docker/

docker_19">3、停止docker服务

systemctl stop docker

停止失败的时候可以更换命令试试

service docker stop

docker_30">4、docker目录不足迁移扩容方法:

  1. docker迁移到大容量的磁盘中

    我这里是迁移到/home/docker目录下,相当于给原来的/var换成了/home/docker其他的结构和之前保持一致

    # 首先创建目录
    mkdir -p /home/docker/lib/
    #迁移
    rsync -avz /var/lib/docker /home/docker/lib/
    

    在这里插入图片描述

  2. 编辑/etc/docker/daemon.json,添加参数,将docker的目录迁移绑定
    红框是添加的参数,nginx版本不同data-root可能会不生效,可以给data-root换成graph试试
    在这里插入图片描述

  3. 重载和重启docker服务

    systemctl daemon-reload && systemctl restart docker
    

    如果systemctl依然运行失败,可以使用以下命令重启docker试试:

    service docker restart
    

    检查docker是否绑定新目录

    docker info
    

    如果Docker Root Dir由/var/lib/docker变为你指定的目录,说明迁移成功
    在这里插入图片描述
    删除docker旧目录

    rm -rf /var/lib/docker
    

    这个时候再去使用docker image 、 docker ps 就可以发现之前的镜像和容器数据都在,并且可以正常使用啦


http://www.ppmy.cn/server/122253.html

相关文章

接口自动化测试框架详解(pytest+allure+aiohttp+ 用例自动生成)

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 近期准备优先做接口测试的覆盖,为此需要开发一个测试框架,经过思考,这次依然想做点儿不一样的东西。 接口测试是比较讲究效…

【计算机网络】运输层协议解析

这里写目录标题 前言UDP与TCP对比TCP流量控制TCP拥塞控制TCP超时重传时间选择TCP可靠传输实现 前言 运输层直接为应用进程间的逻辑通信提供服务。运输层向高层用户屏蔽了下面网络核心细节(如网络拓扑、路由选择协议等)它使应用进程看见的就好像是在两个…

IP地址与智能家居能够碰撞出什么样的火花呢?

感应灯、远程遥控空调,自动感应窗帘——智能家居已经在正逐步走入我们的生活,为我们带来前所未有的便捷与舒适体验。而在这一进程中,IP地址又能够与智能家居碰撞出什么样的火花呢? 一、IP地址:智能家居的连接基石 智…

0基础学习HTML(二十二)XHTML

HTML - XHTML XHTML 是以 XML 格式编写的 HTML。 什么是 XHTML? XHTML 指的是可扩展超文本标记语言XHTML 与 HTML 4.01 几乎是相同的XHTML 是更严格更纯净的 HTML 版本XHTML 是以 XML 应用的方式定义的 HTMLXHTML 是 2001 年 1 月发布的 W3C 推荐标准XHTML 得到所有主流浏览器…

Html--笔记01:使用软件vscode,简介Html5--基础骨架以及标题、段落、图片标签的使用

一.使用VSC--全称:Visual Studio Code vscode用来写html文件,打开文件夹与创建文件夹:①选择文件夹 ②拖拽文件 生成浏览器的html文件的快捷方式: !enter 运行代码到网页的方法: 普通方法&#xff1a…

【学习笔记】手写 Tomcat 四

目录 一、Read 方法返回 -1 的问题 二、JDBC 优化 1. 创建配置文件 2. 创建工具类 3. 简化 JDBC 的步骤 三、修改密码 优化返回数据 创建修改密码的页面 注意 测试 四、优化响应动态资源 1. 创建 LoginServlet 类 2. 把登录功能的代码放到 LoginServlet 类 3. 创…

【html网页制作】旅游风景主题网页制作含css动画及js特效(8页面附效果源码)

HTMLCSS旅游风景主题旅游网页制作 🍔涉及知识🥤写在前面🍧一、网页主题🌳二、网页效果菜单切换效果PageA、整体页Page1、首页Page2、旅行趣事页Page3、旅行美景页Page4、旅行指南页Page5、旅行视频页Page6、留言页Page7、西湖简介…

qmt量化交易策略小白学习笔记第66期【qmt编程之获取基金数据】

qmt编程之获取基金数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 --获取基金数据! 实盘或回测qmt,可关注博主咨询~ 获取基金数据 此函数被设计为只支持单一基金查询&#xff…