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