【解决Docker无剩余存储磁盘空间问题】

【解决Docker无剩余存储磁盘空间问题】

目录

一、问题概述

执行Docker build -t [镜像名] [源目录] 命令报错 "copy file range failed: no space left on device"

二、问题原因

Docker 磁盘空间已满,没有足够的磁盘空间进行编译镜像

shell 复制代码
# 查看Docker存储根目录
[root@appserver ~]# sudo docker info | grep "Docker Root Dir"
[root@appserver ~]# cd /var/lib/docker/
# 查看系统磁盘空间使用情况
[root@appserver docker]# df -h
# 查看Docker磁盘空间使用情况
[root@appserver docker]# docker system df

通过上面命令截图得知,Docker磁盘空间已经达到89%,

三、解决方案

1、方案一:清除Docker磁盘空间

1)、清除Docker磁盘空间

下面命令将删除所有未使用的容器、镜像和卷

shell 复制代码
[root@appserver docker]# docker system prune -a

2)、手工清除Docker磁盘空间

下面命令按需删除未使用的容器、镜像和卷

shell 复制代码
# 删除所有已停止的容器
[root@appserver docker]# docker container prune
# 删除所有已停止的镜像
[root@appserver docker]# docker image prune
# 删除所有已停止的卷
[root@appserver docker]# docker volume prune

2、方案二:更换Docker磁盘存储目录

shell 复制代码
[root@appserver ~]# systemctl stop docker
[root@appserver ~]# rsync -aP /var/lib/docker/ /new/path/docker/
[root@appserver ~]# vim /lib/systemd/system/docker.service

使用编辑器打开并修改 ExecStart 参数,添加或修改 --data-root 选项:

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root /new/path/docker

shell 复制代码
# 重新加载系统服务配置并启动Docker服务
[root@appserver ~]# systemctl daemon-reload
[root@appserver ~]# systemctl start docker
# 检查Docker是否正常工作
[root@appserver ~]# sudo docker info | grep "Docker Root Dir"

以上是整个解决问题的过程

相关推荐
运维全栈笔记9 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc11 小时前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
AI木马人11 小时前
9.人工智能实战:GPU 服务如何上 Kubernetes?从单机部署到 K8s + NVIDIA Device Plugin + HPA 的生产级改造
人工智能·容器·kubernetes
身如柳絮随风扬18 小时前
使用 Docker 部署禅道并实现自动化部署——从项目搭建到运维自动化的完整指南
运维·docker·自动化
eRTE XFUN19 小时前
docker下搭建redis集群
redis·docker·容器
一只小bit19 小时前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器
都在酒里20 小时前
在公共服务器上构建 RK3588 SDK 的纯净 Docker 方案
运维·服务器·docker
jeCA EURG20 小时前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
身如柳絮随风扬20 小时前
使用 Docker 部署 Jenkins 并实现自动化部署 —— 从零到一的 CI/CD 实践指南
docker·自动化·jenkins
就叫飞六吧20 小时前
docker快速启动sqlserver实例并自动测试shell脚本
docker·容器·sqlserver