当前位置: 首页 > news >正文

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):

# 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开发环境。

http://www.dtcms.com/a/10022.html

相关文章:

  • 电商系列之风控安全
  • C++--友元
  • 蓝桥杯 经验技巧篇
  • Linux中磁盘管理
  • 白色磨砂质感html5页源码
  • 【Redis】NoSQL之Redis的配置和优化
  • 51单片机实验02- P0口流水灯实验
  • 操作系统原理及安全2-进程管理实验(验证型)_创建一个子进程,显示new process(1)
  • Chrome浏览器如何跟踪新开标签的网络请求?
  • Codeforces Round 938 (Div. 3) (A~E)
  • Linux云计算之Linux基础2——Linux发行版本的安装
  • GitHub入门与实践
  • 华为ipsec vpn配置案例
  • 备考ICA----Istio实验17---TCP流量授权
  • .NET 设计模式—装饰器模式(Decorator Pattern)
  • 【java面试题-Redis篇-2024】
  • ardupilot安装python
  • TSINGSEE青犀边缘计算AI智能分析网关V4客流统计算法的配置步骤及使用
  • 7-36 输入年份和月份
  • 公网环境下如何端口映射?
  • k8s_入门_kubelet安装
  • 全国火情预报卫星遥感应用方案
  • c语言中有哪些格式说明符,在scanf 会在遇到空白字符(空格、制表符或换行符)时停止读取(即scanf会忽略空格)
  • Verilog语法——按位取反“~“和位宽扩展的优先级
  • ADB 操作命令及其详细用法
  • 蓝桥杯小白入门赛第9场第5题 无理数位数查询
  • 跨越网络边界:借助C++编写的下载器程序,轻松获取Amazon商品信息
  • 关于项目中遇到的一些form表单校验
  • 常规的k8s的监控指标
  • 京东滑块验证逆向分析与算法还原