【Docker】Mac安装Docker Desktop导致磁盘剩余空间较少问题如何解决?

目录

一、背景描述

二、解决办法

三、清理效果

四、理论参考

解决方法

[1. 清理未使用的 Docker 镜像、容器和卷](#1. 清理未使用的 Docker 镜像、容器和卷)

[2. 查看 Docker 使用的磁盘空间](#2. 查看 Docker 使用的磁盘空间)

[3. 调整 Docker 的存储位置](#3. 调整 Docker 的存储位置)

[4. 增加磁盘空间](#4. 增加磁盘空间)

[5. 调整 Docker Desktop 配置](#5. 调整 Docker Desktop 配置)

[6. 使用 Docker 清理工具(例如 Docker Compose)](#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博客

相关推荐
爱宇阳22 分钟前
使用 Docker Compose 部署 Jenkins(LTS 版)持续集成环境
ci/cd·docker·jenkins
明月看潮生2 小时前
青少年编程与数学 01-011 系统软件简介 05 macOS操作系统
macos·青少年编程·操作系统·系统软件·编程与数学
背太阳的牧羊人3 小时前
backend 服务尝试连接 qdrant 容器,但失败了,返回 502 Bad Gateway 问题排查
docker·gateway·qdrant
xiaomu_3474 小时前
基于Linux系统docker封装exe
linux·运维·服务器·docker
Hoking13 小时前
Kafka集群部署(docker容器方式)SASL认证(zookeeper)
docker·zookeeper·kafka
Hello.Reader17 小时前
Git 安装全攻略Linux、macOS、Windows 与源码编译
linux·git·macos
Hope Fancy17 小时前
macOS 连接 Docker 运行 postgres,使用navicat添加并关联数据库
macos·docker·postgresql
John Song17 小时前
macOS 上使用 Homebrew 安装redis-cli
数据库·redis·macos
yanjiee17 小时前
编译一个Mac M系列可以用的yuview
macos
数据知道17 小时前
Mac电脑上本地安装 redis并配置开启自启完整流程
数据库·redis·macos