docker存储空间报错解决(谨慎操作,会影响原来的容易镜像,不熟练切勿操作)

news2025/1/4 19:17:30

在这里插入图片描述

报错内容

[root@Dream package]# docker build -t imapp .
[+] Building 21.0s (6/19)
 => [internal] load build definition from Dockerfile                                                                                                 0.1s
 => => transferring dockerfile: 907B                                                                                                                 0.0s
 => [internal] load .dockerignore                                                                                                                    0.1s
 => => transferring context: 2B                                                                                                                      0.0s
 => [internal] load metadata for docker.io/library/centos:7                                                                                          2.5s
 => [ 1/15] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4                                  0.2s
 => => resolve docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4                                    0.1s
 => => sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 1.20kB / 1.20kB                                                       0.0s
 => => sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f 529B / 529B                                                           0.0s
 => => sha256:eeb6ee3f44bd0b5103bb561b4c16bcb82328cfe5809ab675bb17ab3a16c517c9 2.75kB / 2.75kB                                                       0.0s
 => ERROR [internal] load build context                                                                                                             18.2s
 => => transferring context: 1.45GB                                                                                                                 18.1s
 => [ 2/15] RUN mkdir /data                                                                                                                          0.9s
------
 > [internal] load build context:
------
ERROR: failed to solve: write /var/lib/docker/overlay2/pg3tim64h8tebbvpq5vhkqfbo/diff/ZIM-23.1.5.x86_64.all.tar: no space left on device

问题分析

Docker构建过程中报错了。错误信息显示磁盘空间不足。这个错误通常发生在Docker镜像的构建过程中,当本地磁盘空间不足时会出现此问题。

为了解决这个问题,可以尝试以下方法:

  1. 清理磁盘空间:删除不需要的文件或目录,释放磁盘空间。可以使用df -h命令检查磁盘使用情况,并使用rm命令删除不必要的文件。

  2. 清理Docker镜像:使用docker image prune命令清理不再使用的Docker镜像。

  3. 调整Docker配置:你可以通过删除未使用的Docker镜像、容器和卷来释放空间。运行docker system prune命令可以清理Docker资源。

  4. 扩大磁盘空间:如果上述方法无法解决问题,你可能需要考虑扩展磁盘空间或更换磁盘。

在这里,我们先看看磁盘空间分布情况地方
在这里插入图片描述
然后我们切换磁盘空间(注意,会影响原来运行的docker容器)

问题解决

要让Docker使用 /dev/mapper/centos-home 分区的挂载点/home作为其存储路径,你可以通过编辑 Docker 的配置文件并修改其存储驱动来实现。以下是一些步骤供你参考:

  1. 使用文本编辑器打开 Docker 服务的配置文件 /etc/docker/daemon.json(如果文件不存在则创建它):

    sudo vi /etc/docker/daemon.json
    
  2. 在文件中添加以下内容,将 data-root 设置为 /home(或者你希望的路径):

    {
      "data-root": "/home"
    }
    
  3. 保存并关闭文件。

  4. 重启 Docker 服务以使配置生效:

    sudo systemctl restart docker
    

现在,Docker 将使用 /dev/mapper/centos-home 分区作为其存储路径。请确保目标分区具有足够的容量来存储 Docker 的镜像、容器和其他相关数据。

请注意,修改 Docker 的存储路径可能需要对文件权限进行适当的更改,以确保 Docker 正确访问和操作所需的文件。也请注意,这将使用 /home 分区的空间,并且可能会对其他系统文件或应用程序产生影响,请谨慎操作。

预防操作

如果重启失败,大家可以执行如下操作,查看错误信息:

  1. 运行以下命令来查看 Docker 服务的状态信息:

    systemctl status docker.service
    

    这会显示 Docker 服务的当前状态以及可能的错误消息。

  2. 运行以下命令来查看系统日志中与 Docker 服务相关的详细信息:

    journalctl -u docker.service -xe
    

    这会显示与 Docker 服务相关的日志,其中可能包含与错误相关的附加详细信息。

通过查看这些输出,你可以获取更多关于 Docker 服务失败的错误信息,以便进行进一步排查和解决。
如果报错如下 “Unable to get the full path to root (/dev/mapper/centos-home/docker)”,,就是Docker 在获取 /dev/mapper/centos-home/docker 的完整路径时遇到了问题。

这个错误可能是由于 Docker 无法解析给定路径导致的。请确保 /dev/mapper/centos-home/dev/mapper/centos-home/docker 这两个路径在系统中存在,并且有正确的权限。

你可以按照以下步骤来检查和解决问题:

  1. 确认 /dev/mapper/centos-home/dev/mapper/centos-home/docker 这两个路径是否存在。可以运行以下命令来检查:

    ls -l /dev/mapper/centos-home
    ls -l /dev/mapper/centos-home/docker
    

    如果这些路径不存在,请确保正确设置了文件系统和挂载点,并按照上一次回答中的步骤来创建正确的路径。

  2. 确认这些路径的权限是否正确。通常情况下,Docker 需要有足够的权限来读取和写入存储路径。可以运行以下命令来检查权限:

    ls -ld /dev/mapper/centos-home
    ls -ld /dev/mapper/centos-home/docker
    

    确保你具有适当的权限,通常是确保 Docker 用户组(如 dockerdockerroot)具有对这些路径的访问权限。

  3. 如果路径存在且权限正确,还可以尝试重新配置 Docker 来使用其他路径作为存储路径,例如使用 /var/lib/docker。编辑 /etc/docker/daemon.json 文件并修改 "data-root" 值为其他路径,然后重启 Docker 服务:

    sudo vi /etc/docker/daemon.json
    # 修改 "data-root" 的值为其他路径,例如 "/var/lib/docker"
    sudo systemctl restart docker
    

尝试上述步骤后,如果问题仍然存在,就需要仔细查看错误消息和日志!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

提升维修服务体验,轻松解决问题:揭秘上门维修小程序的关键功能与用户体验

当今社会,随着科技的发展,上门维修小程序成为了人们解决维修问题的首选。下面将介绍开发上门维修小程序时的必备功能,以及这些功能如何提供便利和增加用户体验。   在线维修预约功能:上门维修小程序提供了在线预约平台&#xff…

dreamStudio试用教程【AI绘画】

文章目录 dreamStudio 简介打开官网如下邮箱登录即可切换随机提示词新用户的试用次数目前只有25张图像📙 预祝各位 前途似锦、可摘星辰 dreamStudio 简介 https://github.com/Stability-AI/StableStudio StabilityAI在官网上重磅宣布——旗下的文生图应用DreamStu…

SpringBoot(十)教你手把手自定义starter

一个月的时间,转眼已经到了我的SpringBoot系列的第十篇文章。还记得我的第二篇文章SpringBoot(二)starter介绍_springboot的starter_heart荼毒的博客-CSDN博客 曾经介绍过starter。starter除了官方提供的以外,我们也可以自定义。本…

【LeetCode每日一题】——766.托普利茨矩阵

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 矩阵 二【题目难度】 简单 三【题目编号】 766.托普利茨矩阵 四【题目描述…

iPhone 8 Plus透明屏有哪些场景化应用?

iPhone 8 Plus是苹果公司于2017年推出的一款智能手机,它采用了全新的玻璃机身设计,使得手机更加美观和时尚。 而透明屏则是一种新型的屏幕技术,可以使手机屏幕呈现出透明的效果,给人一种科技感十足的视觉体验。 透明屏是通过使用…

Java常用工具类

1、Date类 Date类主要用来存储时间,精确到毫秒,内部是通过一个long值来进行存储的。 2、Calendar(日历类) 主要用来处理时间,例如,获取时间的某个部分,改变时间的某个部分;对时间…

【go语言学习笔记】03 Go 语言深入理解

文章目录 一、指针详解1. 指针的声明和定义2. 指针的操作2.1 获取指针指向的值2.2 修改指针指向的值2.3 给指针变量分配内存 3. 指针接收者4. 什么情况下使用指针5. 指向接口的指针 二、参数传递1. 值类型2. 指针类型3. 引用类型3.1 map3.2 chan 4. 类型的零值 三、内存分配1. …

Android 9系统源码_音频管理(一)按键音效源码解析

前言 当用户点击Android智能设备的按钮的时候,如果伴随有按键音效的话,会给用户更好的交互体验。本期我们将会结合Android系统源码来具体分析一下控件是如何发出按键音效的。 一、系统加载按键音效资源 1、在TV版的Android智能设备中,我们…

vscode插件美化C/C++和HTML

配置html语言自动补全,在设置中搜索Emmet 设置->搜索 Emmet Abbreviation 验证自动补全 输入html,下键选择html:5,自动补全整个开头语言

极简在线商城系统,支持docker一键部署

Hmart 给大家推荐一个简约自适应电子商城系统,针对虚拟商品在线发货,支持企业微信通知,支持docker一键部署,个人资质也可搭建。 前端 后端 H2 console 运行命令 docker run -d --name mall --restartalways -p 8080:8080 -e co…

Maven引入本地第三方Jar包

背景 引入第三方的Jar包,本来是在项目结构的库里面引入的jar包,但是用maven打包时报错,所以后面想着用maven引入本地地址的方式。 解决方法 1.将Jar包放到根目录里面,我这边放在了lib文件中,如图所示: 2.在pom文件…

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总https://blog.csdn.net/yu_cblog/categ…

【CAS6.6源码解析】ST的默认淘汰策略 MultiTimeUseOrTimeoutExpirationPolicy

本篇文章是对上篇文章【深度解析票据淘汰与过期策略】的一个补充,上篇文章主要分析了TGT的默认淘汰策略配置,ST的配置有TGT的默认配置有一些差异化,特别是ST是基于MultiTimeUseOrTimeoutExpirationPolicy这样一种淘汰策略,本文将详…

精密划片机行业发展趋势

划片机行业的发展趋势主要包括以下几个方面: 高精度、高效率的切割技术:随着半导体芯片的尺寸不断增大,切割的精度和效率要求也越来越高。因此,行业将继续推动切割技术的创新和发展,以提高划片效率和精度。 自动化和智…

百度地图点标记加调用

先看效果 PHP代码 <?phpnamespace kds_addons\edata\controller;use think\addons\Controller; use think\Db;class Maps extends Controller {// 经纬度计算面积function calculate_area($points){$totalArea 0;$numPoints count($points);if ($numPoints > 2) {f…

Blazor前后端框架Known-V1.2.9

V1.2.9 Known是基于C#和Blazor开发的前后端分离快速开发框架&#xff0c;开箱即用&#xff0c;跨平台&#xff0c;一处代码&#xff0c;多处运行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazor…

(学习笔记1)类和对象详解(C++)

类和对象 1.类的定义语法类的定义方式 2.类的访问限定符2.1 访问限定符的特点2.2 struct与class的区别 3. 三大特性3.1 封装4.类的作用域5.类的实例化6.类对象模型7.this指针7.1 this指针的特性7.2 this指针相关问题 1.类的定义 类是面向对象语言特有的语法&#xff0c;在面向…

数组中重复的数字_剑指 Offer 03

文章目录 题目描述法一 哈希表 题目描述 法一 哈希表 int findRepeatNumber(vector<int>& nums){unordered_map<int, bool> map;for(const int& num:nums){if(map[num]) return num;map[num]true;}return -1;}

c++游戏制作指南 模板(权当预告)

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f35f;欢迎来到静渊隐者的csdn博文&#xff0c;本文是c游戏制作指南的一部&#x1f35f; &#x1f355;更多文章请点击下方链接&#x1f355; &#x1f368; c游戏制作指南&#x1f3…

C++调用C# dll成功示例

方法1&#xff1a;公共语言运行时支持 一.准备C# dll类库 。生成CSLib.dll namespace CSLib {public class Class1{private string name;public string Name{get{return name;}set{name "Your Name: " value;}}} }二、写C应用调用 1)需要把dll复制到运行目录下。…