Mac下Docker Desktop starting的解决方法

记录下自己在新增了一个新的容器后,Disk Size过大导致启动Docker Desktop会一直卡在Docker Desktop starting,并且重启无效的解决方法。该方法无需重新卸载,并且能保留原有的镜像和容器。

一、确认问题

首先确认Docker.raw大小以确认是否和笔者同样的问题,笔者是因为Virtual disk limit默认64G,但是新增的镜像和容器超限了,导致一直启动中

1、Virtual disk limit

查看自己的Virtual disk limit值,在Settings->Resource->Virtual disk limit选项下,默认情况下Docker Desktop的Virtual disk limit只有64G。这里因为我们Docker Desktop 一直处于starting,所以我们无法直接去修改,这是正常情况下的截图。

2、Docker.raw

2.1、什么是Docker.raw

在Docker Desktop中,docker.raw 文件通常用于存储 Docker 容器的数据。具体来说,它是用来存储 Docker 镜像、容器数据以及其他相关数据的二进制文件。

当我们在 Docker Desktop 上创建、运行、停止或删除容器时,相关的数据会被存储在docker.raw 文件中。这个文件实际上是一个虚拟磁盘镜像,类似于虚拟机中的虚拟硬盘。Docker Desktop使用这个文件作为本地的存储介质,方便地管理容器的数据。

通常情况下,用户无需直接操作 docker.raw 文件,Docker Desktop会自动管理这个文件的创建、扩容和删除等操作。用户只需要通过 Docker Desktop 提供的命令行界面或者图形界面来管理 Docker 容器即可。

2.2、确认Docker.raw大小

该文件在Mac中的路径一般是(或者是com.docker.docker):

bash 复制代码
# macOS 上使用的虚拟硬盘文件路径
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

如果该文件如果接近于64G,基本可以判断是因为Virtual disk limit超限。

二、解决问题

因为Docker Desktop 一直处于starting,所以我们无法直接去修改。这里分三步走:

  1. 首先我们将Docker.raw复制一份保留起来,防止误操作(这里单纯是防止误操作)。
  2. 我们在强制退出Docker Desktop。直接修改虚拟硬盘文件路径下的Docker.raw名称,比如Docker_copy.raw。再重启Docker Desktop。你会发现Docker Desktop可以正常启动,但是镜像和容器都不见了,因为加载不到旧的Docker.raw,所以原先的目录下新生成了一个新的Docker.raw。
  3. 我们将Settings->Resource->Virtual disk limit选项设置为128G或者更大的值,并将新生成的Docker.raw删除,Docker_copy.raw改回Docker.raw,并重启,这时候即可解决问题

设置Virtual disk limit成功后,在左下角可以看到虚拟磁盘"可使用/总共"的值

其实解决思路无非是将Virtual disk limit值增大以适应咱们越来越臃肿的docker开发环境。

相关推荐
上海合宙LuatOS32 分钟前
LuatOS核心库API——【i2c】I2C 操作
linux·运维·单片机·嵌入式硬件·物联网·计算机外设·硬件工程
前路不黑暗@39 分钟前
Java项目:Java脚手架项目的文件服务(八)
java·开发语言·spring boot·学习·spring cloud·docker·maven
2401_858286113 小时前
OS53.【Linux】System V 共享内存(2)
linux·运维·服务器·共享内存
only_Klein4 小时前
kubernetes-ReplicaSet控制器
容器·kubernetes
杨浦老苏4 小时前
本地优先的AI个人助手Moltis
人工智能·docker·ai·群晖
only_Klein6 小时前
Kubernetes-DaemonSet控制器
容器·kubernetes
志栋智能8 小时前
AI驱动的安全自动化机器人:从“告警疲劳”到“智能免疫”的防御革命
运维·人工智能·安全·机器人·自动化
laocui18 小时前
树莓派Ubuntu系统安装openclow(豆包+QQ机器人)
linux·运维·ubuntu
志栋智能9 小时前
自动化运维真的只能选复杂平台吗?
运维·网络·数据库·人工智能·自动化
呉師傅9 小时前
【操作技巧】Win10关机提示这个应用阻止关机。怎么解决?
运维·网络·windows·电脑