【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博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tiktok对接和内容发布申请流程

这段时间在搞AI生成视频,希望用户能一键发布到Tiktok,因此研究了一下Tiktok的开发者申请流程,发现好复杂,同时也发现Tiktok的开发也跟我一样,挺草台班子的 0、流程简述 废话不多说,Tiktok的开发者申请和…

Android ART知多少?

Android 虚拟机 ART(Android Runtime)是 Android 平台上的应用程序运行时环境,用于执行应用程序的字节码。ART 自 Android 5.0(Lollipop)开始取代了 Dalvik,成为 Android 的默认运行时环境。本文将从以下几…

黑马嵌入式开发入门模电基础学习笔记

学习视频: 黑马程序员嵌入式开发入门模电(模拟电路)基础 文章目录 背景介绍电流电压组件仿真三极管ne555PCBEDA案例:非接触式电笔案例:电子琴 背景介绍 电流 电压 组件 仿真 三极管 mos管 ne555 PCB EDA 案例:非接触…

Ubuntu 18 EDK2 环境编译

视频:在全新的Ubuntu上从零搭建UEFI的EDK2开发环境 开始:git clone https://github.com/tianocore/edk2.git 开始编译BaseTools前先更新一下子模块:git submodule update --init ,然后:make -C BaseTools/ 问题1&a…

第9章 DIV+CSS布局

9.1 DIVCSS概述 DIVCSS是Web设计标准,它是一种网页的布局方法。与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离。DIV组成了网页的格局,CSS则装饰了格局,比如建一栋房子,…

QT QLineEdit失去焦点事件问题与解决

本文介绍如何获得QLineEdit的失去焦点事件和获得焦点的输入框也会触发失去焦点事件的问题! 目录 一、QLineEdit获得失去焦点事件 1.自定义类继承自QLineEdit 2.重写 focusOutEvent 3.使用 二、失去焦点事件问题 1.问题描述 2.问题解决 三、源码分享 lineed…

微信小程序navigateTo:fail webview count limit exceed

theme: nico 你们好,我是金金金。 场景 uniapp编写微信小程序,使用uni.navigateTo跳转的过程中报错如下: 报错意思也非常明显了:errMsg":"navigateTo:fail webview 数量超出限制 排查 排查之前我先贴一下代码 代码非…

HarmonyOS ArkTs 解决流式传输编码问题

工作日志 日期:2024-11-15 标题:HarmonyOS ArkTs 解决流式传输编码问题 问题描述 问题:在处理流式数据的 HTTP 请求时,服务器返回的数据存在编码问题,导致数据无法正确地解码为字符串。部分数据在解码后出现了乱码…

Android Settings 单元测试 | 如何运行单元测试?

背景 在Android Settings 单元测试 | Telephony Network 模块 APN 案例中粗略介绍了单元测试逻辑内容,但是在独立APK里面如何将单元测试跑起来还是有疑问,因为APP不能直接install,无法借助Android Studio直接Run,在安装的一步会报…

flutter字体大小切换案例 小字体,标准字体,大字体,超大字体案例

flutter字体大小切换案例 小字体&#xff0c;标准字体&#xff0c;大字体&#xff0c;超大字体案例 Android iOS设备带有选择记录 我的flutter项目版本 environment: sdk: ‘>3.4.4 <4.0.0’ 图片案例 pubspec.yaml 添加依赖 # 屏幕尺寸适配 https://github.com/OpenF…

编译原理(手绘)

大家好&#xff0c;今天给大家分享一下我自己对c语言编译链接的一点见解&#xff08;本人是学生&#xff0c;有记笔记的习惯&#xff09;&#xff0c;那么今天就给大家分享我的笔记。 以上只是我本人的一些见解&#xff0c;并非绝对&#xff0c;欢迎大家一起交流。 那么今天分…

跳房子(弱化版)

题目描述 跳房子&#xff0c;也叫跳飞机&#xff0c;是一种世界性的儿童游戏&#xff0c;也是中国民间传统的体育游戏之一。 跳房子的游戏规则如下&#xff1a; 在地面上确定一个起点&#xff0c;然后在起点右侧画 n 个格子&#xff0c;这些格子都在同一条直线上。每个格子内…

初识Linux · 共享内存

目录 理解共享内存 Shared memmory code 理解共享内存 前文介绍的管道方式的通信&#xff0c;本文介绍的是进程通信的另外一种方式&#xff0c;即共享内存。但是这种通信方式的特点是只能本地通信&#xff0c;并且不像管道那样有保护机制&#xff0c;这里是没有的。 我们通…

机器学习day5-随机森林和线性代数1

十 集成学习方法之随机森林 集成学习的基本思想就是将多个分类器组合&#xff0c;从而实现一个预测效果更好的集成分类器。大致可以分为&#xff1a;Bagging&#xff0c;Boosting 和 Stacking 三大类型。 &#xff08;1&#xff09;每次有放回地从训练集中取出 n 个训练样本&…

Essential Cell Biology--Fifth Edition--Chapter one (6)

1.1.4.4 Internal Membranes Create Intracellular Compartments with Different Functions [细胞膜形成具有不同功能的细胞内隔室] 细胞核、线粒体和叶绿体并不是真核细胞中唯一的膜包围细胞器。细胞质中含有大量的[ a profusion of]其他细胞器&#xff0c;这些细胞器被单层膜…

基于VUE实现语音通话:边录边转发送语言消息、 播放pcm 音频

文章目录 引言I 音频协议音频格式:音频协议:II 实现协议创建ws对象初始化边录边转发送语言消息 setupPCM按下通话按钮时开始讲话,松开后停止讲话播放pcm 音频III 第三库recorderplayer调试引言 需求:电台通讯网(电台远程遥控软件-超短波)该系统通过网络、超短波终端等无线…

政务数据治理专栏开搞!

写在前面 忙忙碌碌干了一年政务数据治理的工作&#xff0c;从法人数据到自然人&#xff0c;从交通到地理信息等等&#xff0c;突发想法开一个专栏讲一讲政务数据遇到的问题&#xff0c;以及治理的成效&#xff0c;或许有朋友爱看。 政务数据&#xff0c;又称之为政务数据资源&a…

CondaError: Run ‘conda init‘ before ‘conda activate‘解决办法

已经执行了conda init&#xff0c;但是还是会报错CondaError: Run ‘conda init’ before ‘conda activate’ 原因&#xff1a;权限不够 解决办法&#xff1a;以管理员身份运行cmd&#xff0c;然后进入要操作的文件夹下&#xff0c;重新执行 conda init 和 conda activate 就可…

【全面系统性介绍】虚拟机VM中CentOS 7 安装和网络配置指南

一、CentOS 7下载源 华为源&#xff1a;https://mirrors.huaweicloud.com/centos/7/isos/x86_64/ 阿里云源&#xff1a;centos-vault-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 百度网盘源&#xff1a;https://pan.baidu.com/s/1MjFPWS2P2pIRMLA2ioDlVg?pwdfudi &…

软考教材重点内容 信息安全工程师 第 4 章 网络安全体系与网络安全模型

4,1 网络安全体系的主要特征: (1)整体性。网络安全体系从全局、长远的角度实现安全保障&#xff0c;网络安全单元按照一定的规则&#xff0c;相互依赖、相互约束、相互作用而形成人机物一体化的网络安全保护方式。 (2)协同性。网络安全体系依赖于多种安全机制&#xff0c;通过各…