You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

M1芯片Mac安装Docker Desktop Preview后运行docker/getting-started镜像报错的原因及解决方法

M1 Mac Docker Desktop Preview: "dial unix docker.raw.sock: connect: no such file or directory" Error Fix

我在M1芯片的Mac上用Docker Desktop Preview时也碰到过一模一样的报错,这个问题核心是Docker守护进程(daemon)没有正常初始化——docker.raw.sock是M1架构下Docker客户端和守护进程通信的套接字文件,它不存在就说明守护进程启动时没创建这个必要的通信文件,大概率是残留配置或者预览版的兼容性小bug导致的。

常见触发原因

  • Preview版守护进程初始化失败:毕竟是预发布版本,偶尔会因为系统资源冲突、旧版残留数据干扰,导致启动流程卡住,没生成套接字文件。
  • 跨架构残留配置:如果之前装过基于Rosetta模拟的x86版Docker,残留的配置文件可能和ARM原生的Preview版不兼容,拖垮了守护进程的启动。
  • 权限异常:虽然Docker Desktop默认会自动处理权限,但系统权限变更(比如升级macOS后)偶尔会导致Docker无法在/var/run目录下创建套接字文件。

可行修复方案

1. 清理/重置Docker数据(你已经验证有效的方案)

这是处理这类预览版异常最彻底的办法,重置会清除所有残留配置和异常数据,让Docker从头初始化:

  • 打开Docker Desktop,点击顶部菜单栏的Docker图标 → 选择Settings
  • 切换到Troubleshoot标签页
  • 点击Reset to factory defaults,等待重置完成后重启Docker Desktop
  • 重启后再运行docker run -d -p 80:80 docker/getting-started,就能正常拉起容器了

2. 手动重启Docker守护进程

如果不想重置数据,可以先尝试软重启:

  • 从Docker Desktop菜单栏选择Quit Docker Desktop,完全退出后再重新打开
  • 也可以在终端运行killall Docker强制终止进程,再重新启动Docker Desktop

3. 检查并修正套接字路径配置

偶尔会因为环境变量错误导致客户端找不到套接字文件:

  • 打开终端运行echo $DOCKER_HOST,如果输出不是unix:///var/run/docker.raw.sock,手动设置环境变量:
    export DOCKER_HOST=unix:///var/run/docker.raw.sock
    
    设置完成后再尝试运行容器命令。

你提到通过清理/重置数据解决了问题,这确实是处理这类预览版异常的首选方案,能一次性消除所有残留配置的干扰。

内容的提问来源于stack exchange,提问作者Lordisma

火山引擎 最新活动