在MAC M3机器上运行的docker desktop突然卡住,表现在使用docker ps,docker image都卡住没有输出结果
意识到docker desktop有问题,使用重启大法,杀掉docker desktop之后,应用里点击docker desktop之后一直转圈,无法运行
在MAC M3机器上运行docker desktop无响应,表现为docker daemon运行不起来,使用ps -ef | grep docker命令可以看到有两个docker程序,但是docker服务并没有起来
启动docker desktop报错“文件已损坏”,mac无法正常运行docker desktop
docker desktop日志在~/Library/Containers/com.docker.docker/Data/log/目录
查看log目录下的host目录下,包括Docker Desktop.stdout.log日志文件,com.docker.backend.log日志文件里都有"no space left on device"报错,但是查看mac硬盘并没有被打满,还有500G空间,猜测可能是docker desktop运行后,docker镜像和容器日志残留太大,达到了docker desktop的磁盘限制。但是因为docker服务起不来,也无法使用docker rmi删除镜像
docker desktop的数据存储在目录~/Library/Containers/com.docker.docker/Data/vms/0/data里,对应文件Docker.raw,这里可以看到我这边是60G
删除Docker.raw(注意删除该文件后,docker里所有镜像都会被删除),之后应用里打开docker desktop后,可以看到docker desktop正常运行,docker ps和docker image也会正常返回结果
因为之前docker desktop无法运行,所以无法修改docker desktop磁盘,等删除Docker.raw之后运行docker desktop正常,可以到Preferences > Resources > Advanced > Virtual disk limit调整磁盘限制,默认是64G,根据业务和本地磁盘适当调大
确保/Library/PrivilegedHelperTools/com.docker.vmnetd文件存在
应用里点击“docker desktop”应用服务起不来。无响应。ps -ef | grep docker能看到有2个docker相关进程,但是docker daemon没起来,查看~/Library/Containers/com.docker.docker/Data/log/里的日志没有任何报错信息。
问题根因是有段时间启动docker desktop突然报错“docker文件已损坏”,跳转到/Library/PrivilegedHelperTools/com.docker.vmnetd文件损坏,应该移到废纸篓里。删除该文件之后docker desktop启动无响应。排查比较麻烦
解决办法是把docker库里的同名文件拷贝到目录/Library/PrivilegedHelperTools/,参考命令
sudo cp /Applications/Docker.app/Contents/Library/LaunchServices/com.docker.vmnetd /Library/PrivilegedHelperTools
拷贝之后
1. 使用ps -ef | grep docker查到docker pid,然后kill -9 <pid>杀掉2个docker后台进程
2. 应用里启动docker desktop,可以看到docker desktop界面正常开启,点击accept后可以正常使用
启动docker desktop报错“文件损坏”,原因是mac会给有风险的应用加上一个 com.apple.quarantine属性。
mac操作系统高版本去除了允许“任何来源”的选项,如果不开启“任何来源”的选项,第三方应用无法运行。
打开【终端(Terminal)】,输入:
sudo spctl --master-disable 然后回车,继续输入密码,然后回车。
接着打开"系统设置" -> "隐私与安全性","安全性"里"允许以下来源的应用程序"可以选择“任何来源”
xattr 是Extended attributes,即扩展属性。 mac会给有风险的应用加上一个 com.apple.quarantine 属性,因此我们就需要用xattr 命令删除这个属性。 -d 代表删除, -r 代表以递归方式。
sudo xattr -r -d com.apple.quarantine /Applications/Docker.app
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。