【Docker】Mac安装Docker Desktop导致磁盘剩余空间较少问题如何解决?
目录
一、背景描述
二、解决办法
三、清理效果
四、理论参考
解决方法
1. 清理未使用的 Docker 镜像、容器和卷
2. 查看 Docker 使用的磁盘空间
3. 调整 Docker 的存储位置
4. 增加磁盘空间
5. 调整 Docker Desktop 配置
6. 使用 Docker 清理工具(例如 Docker Compose)
参考资料
一、背景描述
MAC电脑是8+256G,磁盘空间比较少,最近老是爆磁盘提示,于是通过Tencent Lemon做磁盘分析,发现Docker的Containers目录占用磁盘空间巨大,因此需要修改Docker Desktop的设置调小磁盘占用量。
二、解决办法


三、清理效果
原本只剩12G磁盘,清理之后剩余47G,瞬间舒服了

四、理论参考
在 Mac 上安装 Docker Desktop 后出现磁盘空间不足的问题是常见的,尤其是在使用 Docker 容器和镜像时。Docker 默认会在本地磁盘上存储大量数据,包括镜像、容器、卷等。这些数据可能会迅速占用大量磁盘空间。
解决方法
下面是一些常见的解决方法,可以帮助你恢复磁盘空间并管理 Docker 使用的存储:
1. 清理未使用的 Docker 镜像、容器和卷
Docker 使用的磁盘空间很大一部分来自未使用的镜像、容器和卷。可以通过以下命令清理它们:
-
删除停止的容器:
docker container prune这个命令会删除所有停止的容器。
-
删除未使用的镜像:
docker image prune这个命令会删除所有未使用的镜像。
-
删除所有未使用的容器、镜像和网络:
docker system prune如果你想要删除所有未使用的容器、镜像、网络以及构建缓存,可以使用
-a标志:docker system prune -a -
删除未使用的卷: 卷存储 Docker 容器的数据,可以使用以下命令清理未使用的卷:
docker volume prune
2. 查看 Docker 使用的磁盘空间
可以通过以下命令查看 Docker 占用的磁盘空间,并判断哪些项目占用了最多的空间:
docker system df
这个命令会显示有关镜像、容器、卷和缓存的详细磁盘空间使用情况。
3. 调整 Docker 的存储位置
Docker 默认将镜像、容器、卷等数据存储在 /var/lib/docker 目录中。如果磁盘空间不足,可以考虑将 Docker 数据目录移动到另一个磁盘或分区。
-
创建新的存储目录(假设将数据移到
/mnt/docker):sudo mkdir /mnt/docker -
停止 Docker 服务:
sudo systemctl stop docker -
将
/var/lib/docker目录的内容移动到新的目录:sudo rsync -aP /var/lib/docker/ /mnt/docker -
删除原目录中的数据(确保数据已经迁移完成):
sudo rm -rf /var/lib/docker -
创建符号链接:
sudo ln -s /mnt/docker /var/lib/docker -
重启 Docker 服务:
sudo systemctl start docker
这将使 Docker 使用新的存储位置,从而避免了磁盘空间不足的问题。
4. 增加磁盘空间
如果你的磁盘空间本身较小,考虑增加磁盘容量:
- 增加 Mac 硬盘的存储空间(如果是外部硬盘或 SSD)。
- 清理其他不必要的文件和应用程序,释放出更多空间,特别是清理 Mac 上的旧文件和应用程序。
5. 调整 Docker Desktop 配置
Docker Desktop 为了优化性能可能会设置一些默认的资源限制(如 CPU、内存、磁盘空间等)。你可以调整 Docker Desktop 的配置,以减少磁盘空间的使用。
- 打开 Docker Desktop,点击右上角的齿轮图标,进入设置界面。
- 选择 Resources(资源),在这里可以调整 Docker 使用的磁盘大小。
- 可以通过 Disk image location 来更改 Docker 镜像文件的存储位置。
6. 使用 Docker 清理工具(例如 Docker Compose)
如果你使用 Docker Compose 部署多个容器,可以通过以下命令来清理容器和镜像:
-
停止并删除所有容器:
docker-compose down -
删除 Docker Compose 使用的镜像和卷:
docker-compose down --volumes --rmi all
这样可以删除所有与 Compose 项目相关的资源,释放磁盘空间。
通过这些步骤,你应该能够释放一些磁盘空间并减少 Docker 占用的存储资源。特别是清理不再使用的镜像和容器,是一种有效的方法来减少 Docker 对磁盘空间的占用。
参考资料
mac 环境docker占用空间清除_如何删除mac系统中的docker缓存-CSDN博客
相关文章:
【Docker】Mac安装Docker Desktop导致磁盘剩余空间较少问题如何解决?
目录 一、背景描述 二、解决办法 三、清理效果 四、理论参考 解决方法 1. 清理未使用的 Docker 镜像、容器和卷 2. 查看 Docker 使用的磁盘空间 3. 调整 Docker 的存储位置 4. 增加磁盘空间 5. 调整 Docker Desktop 配置 6. 使用 Docker 清理工具(例如 D…...
构建客服知识库:企业效率提升的关键步骤
客服知识库是企业提升客户服务效率和质量的重要工具。它不仅帮助客服团队快速准确地回答客户问题,还能通过数据分析来优化服务流程和提升客户满意度。 1. 明确知识库的目标和范围 构建客服知识库的第一步是明确其目标和范围。这包括确定知识库的主要用户群体、需要…...
java-Day06 内部类 Lambda表达式 API
内部类 内部类:就是在一个类中定义一个类 格式例: public class Outer { public class Inner { } } 内部类分类 1.成员内部类(了解) 创建成员内部类 外部类.内部类 对象名new外部类().new内部类() 2.静态内部类(了解) 3.局部内部类(了解) 4.匿名内部类…...
Springboot配置全局异常通用返回
Springboot配置全局异常通用返回 前言 前端对接了部分接口后,开始抱怨,“后端接口出参的格式总是千奇百怪,没有一个固定的格式,错误信息提示也不明朗,业务的状态码总是东一个西一个,前端这都不好做统一的…...
计算机视觉在自动驾驶汽车中的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 计算机视觉在自动驾驶汽车中的应用 计算机视觉在自动驾驶汽车中的应用 计算机视觉在自动驾驶汽车中的应用 引言 计算机视觉在自动…...
wordpress functions文件的作用及详细说明
WordPress的functions.php文件是一个非常重要的主题文件,它允许开发者和用户向网站添加自定义代码片段,从而修改网站功能或添加新内容。以下是functions.php文件的主要作用和一些详细说明: 1. 自定义功能添加: functions.php文件…...
Cellebrite VS IOS18Rebooting
Cellebrite VS IOS18Rebooting我们想分享一些有关 iOS 18 重启“功能”的信息。在过去一周左右的时间里,人们对 iOS 18 中一项新的未记录功能产生了极大关注,该功能会导致设备在一段时间不活动后重新启动。 这意味着,如果设备在一定时间不活…...
[每日一氵] PySpark 的 log GC 部分是什么意思
2024-11-15T11:10:40.2920800: 2850.503: [GC (Allocation Failure) [PSYoungGen: 142705K->3472K(141312K)] 1403514K->1264289K(1543168K), 0.0170225 secs] [Times: user0.05 sys0.00, real0.01 secs] 这一行日志来自Java的垃圾收集器(Garbage Collector, …...
Transformer中的算子:其中Q,K,V就是算子
目录 Transformer中的算子 其中Q,K,V就是算子 一、数学中的算子 二、计算机科学中的算子 三、深度学习中的算子 四、称呼的由来 Transformer中的算子 其中Q,K,V就是算子 “算子”这一称呼源于其在数学、计算机科学以及深度学习等多个领域中的广泛应用和特定功能。以下是…...
JWTUtil工具类
写一个Jwt工具类 导入如下pom.xml依赖 <!--fastjson依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.33</version></dependency><!--jwt依赖--><dependenc…...
【eNSP】企业网络架构实验——vlan间的路由通信(三)
VLAN间的路由是指不同VLAN之间的通信,通常VLAN是用来分割网络流量和提高网络安全性的。 一、VLAN 1. 什么是VLAN? VLAN,全称是虚拟局域网(Virtual Local Area Network),是一种将物理局域网(LA…...
软件测试基础二十九 (接口测试 mock)
Mock(模拟) 一、定义 Mock是在软件开发测试阶段使用的一种技术,用于模拟对象的行为。它主要用于隔离被测试单元(如函数、类或模块)与外部依赖,使得测试更加独立、可控,并且可以在不需要真实外…...
Learning RAG and Ragas
说明:这是我的学习笔记,很多内容转自网络,请查阅文章末尾的参考资料。 文章目录 RAGRagas评估框架评估维度评估指标Faithfulness (忠实度)Answer Relevance (答案相关度)Context Precision (上下文精确度)Context Recall (上下文召回率)Cont…...
Java项目实战II基于微信小程序的实习记录(开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在当今竞争激烈的就业市场中࿰…...
GIT将源码推送新分支
1. 创建并切换到新分支 首先,确保你在本地创建了一个新的分支并切换到该分支: git checkout -b new-branch-namenew-branch-name 是你要创建的新分支名称,替换为你需要的名称即可。 2. 确保所有更改已提交 在推送之前,确保你的…...
Python习题 250:删除空文件夹
(编码题)编写一段 Python 代码,删除指定目录的空文件夹。 参考答案: 使用 pathlib 库可以更简洁地处理文件路径。下面是一个使用 pathlib 库递归删除空文件夹的 Python 代码:from pathlib import Pathdef remove_empty_dirs(directory):# 遍历目录及其子目录for path in…...
基本数据类型:Kotlin、Dart (Flutter)、Java 和 C++ 的比较
文章目录 基本数据类型的比较整数类型浮点类型字符类型布尔类型小结 有符号和无符号整数二进制补码表示精度丢失问题结论 在编程语言中,基本数据类型是构建更复杂数据结构的基础。在本文中,我们将比较 Kotlin、Dart (Flutter)、Java 和 C 中的基本数据类…...
源码解析-Spring Eureka(更新ing)
源码解析-Spring Eureka 文章目录 源码解析-Spring Eureka前言一、从Spring.factory和注解开始二、重要的一步EurekaServerInitializerConfiguration三、初始化了什么?自动保护 四, 重新回到EurekaServerAutoConfiguration 前言 无 一、从Spring.factory和注解开始…...
python调用百度通用翻译API
文章目录 1. 简介2. 使用步骤3. api调用实现4. 编码实现 1. 简介 前段时间在做视频语音识别生成多语种字幕时,使用了百度翻译通用翻译api进行翻译。百度翻译平台经过个人认证之后,每月有200万字符的免费翻译额度。还是比较舒服的。 百度翻译开放平台是百…...
Timeline动画「硬切」的问题
1)Timeline动画「硬切」的问题 2)移动平台纹理压缩格式选择ASTC,美术出图还需遵守POT吗 3)如何去掉DOTS Unity.Entities.Graphics创建的BatchRendererGroup的UI相机回调 4)Timeline播放动画会产生位移的问题 这是第409…...
AMP实战:对抗运动先验在物理驱动角色控制中的风格化应用
1. AMP框架如何革新角色动作控制 想象一下你在玩一款开放世界游戏,主角需要从悬崖边缘精准跳到对面平台。传统动画系统可能会直接播放预设的跳跃动画,但物理引擎计算发现距离不够时,就会出现角色悬空滑行的诡异画面。这正是AMP(Ad…...
3种方案彻底解决Windows系统APK安装难题:APK Installer技术解析
3种方案彻底解决Windows系统APK安装难题:APK Installer技术解析 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 多场景痛点直击:传统Android应用…...
Chord实战效果:一段30秒视频的深度解析,展示其视觉定位与描述能力
Chord实战效果:一段30秒视频的深度解析,展示其视觉定位与描述能力 1. 引言:为什么选择这段30秒视频 今天我要带大家近距离观察Chord视频理解工具的实际表现。不同于传统的技术参数罗列,我们将通过一段精心挑选的30秒视频&#x…...
FastbootEnhance:Windows平台上最直观的Android刷机工具箱
FastbootEnhance:Windows平台上最直观的Android刷机工具箱 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance 如果你是一位Android发烧友…...
Qwen2.5-7B LoRA微调入门:十分钟快速指南,轻松上手模型定制
Qwen2.5-7B LoRA微调入门:十分钟快速指南,轻松上手模型定制 1. 前言:为什么选择LoRA微调 在当今大模型技术快速发展的背景下,如何高效地对预训练模型进行定制化调整成为开发者面临的关键挑战。LoRA(Low-Rank Adaptat…...
N_m3u8DL-RE流媒体下载器:多协议解析技术突破与下载效率提升
N_m3u8DL-RE流媒体下载器:多协议解析技术突破与下载效率提升 【免费下载链接】N_m3u8DL-RE 跨平台、现代且功能强大的流媒体下载器,支持MPD/M3U8/ISM格式。支持英语、简体中文和繁体中文。 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8D…...
SenseVoice-Small模型在运维监控中的语音告警应用
SenseVoice-Small模型在运维监控中的语音告警应用 1. 运维人员每天都在和告警“搏斗” 你有没有经历过这样的场景:凌晨三点,手机突然震动,一条告警短信跳出来——“数据库连接池使用率98%”。你立刻爬起来打开电脑,连上跳板机&a…...
突破设备边界:开源串流解决方案Sunshine革新跨设备游戏共享体验
突破设备边界:开源串流解决方案Sunshine革新跨设备游戏共享体验 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器,支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/…...
LeetCode 98. Validate Binary Search Tree 题解
LeetCode 98. Validate Binary Search Tree 题解 题目描述 给你一个二叉树的根节点 root,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子…...
知识管理工具选型指南:从Confluence、语雀到Notion、Sward的深度场景适配
1. 知识管理工具的核心价值与选型逻辑 第一次搭建团队知识库时,我犯了个典型错误——直接选了当时最火的工具。结果三个月后,技术团队抱怨Markdown支持太弱,产品团队嫌弃界面太复杂,最终这个价值十几万的系统成了摆设。这个教训让…...
