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




