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

相关推荐
大新新大浩浩11 分钟前
使用docker-compose单点搭建社区版seafile+onlyoffice在线word编辑平台
docker·容器·word
Bennett_G2 小时前
掌握Electron工具链:在Windows操作系统上无缝开发MacOS软件
前端·javascript·macos·electron
神仙代码2 小时前
MacOS下,如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能
macos·safari
TsengOnce4 小时前
Docker安装稳定版本nginx-1.26.2
linux·nginx·docker
你熬夜了吗?4 小时前
java实现代码沙盒(docker-java)
java·spring boot·docker
南猿北者7 小时前
docker compose
运维·docker·容器
hongkid7 小时前
docker 部署freeswitch(非编译方式)
docker·容器·freeswitch
尘佑不尘11 小时前
kali上安装docker,并且生成centos7容器和创建apache容器后台运行
笔记·web安全·docker·容器·apache
想学习java初学者11 小时前
Docker compose部署Activemq
docker·容器·activemq