Mac OS X系统Docker守护进程连接失败求助
Hey there, let's work through this Docker daemon connection issue on your Mac step by step:
先检查Docker Desktop是否在运行
Mac上的Docker守护进程(daemon)是靠Docker Desktop管理的,先看看屏幕顶部菜单栏有没有Docker的鲸鱼图标。如果没找到,打开Launchpad启动Docker Desktop,等图标停止转圈(说明守护进程已经准备好),再重新执行docker run hello-world试试。验证Docker守护进程的运行状态
如果Docker Desktop已经启动但问题还在,在终端里执行这条命令,看看守护进程是不是真的在跑:
ps aux | grep dockerd
如果输出里找不到包含dockerd的进程,说明守护进程没正常启动。点击菜单栏的Docker鲸鱼图标,选择「Restart」重启Docker Desktop,等重启完成后再测试。
- 检查用户权限配置
有时候当前用户没有访问Docker套接字的权限,先看看套接字的权限信息:
ls -l /var/run/docker.sock
如果输出里的所属组不是你当前用户所在的组,可以尝试把用户加入docker组(Mac上部分版本默认是staff组,Docker Desktop通常会自动处理,但手动修复试试):
sudo usermod -aG docker $USER
执行完后退出当前终端,重新打开再运行命令。
重置Docker Desktop到默认设置
要是前面的步骤都不管用,考虑重置Docker配置:点击菜单栏的Docker鲸鱼图标,选择「Preferences」,切换到「Reset」标签页,点击「Reset to Factory Defaults」(注意:这会清除所有本地镜像、容器、网络等数据,提前备份重要内容)。重置完成后重启Docker Desktop,再测试docker run hello-world。更新Docker到兼容版本
你当前用的Docker版本是17.12.0-ce,属于比较旧的版本,可能和你的Mac OS X系统版本不兼容(比如新系统不支持老版本Docker)。建议卸载当前版本,安装最新版的Docker Desktop,确保系统和Docker版本匹配。
内容的提问来源于stack exchange,提问作者user1424739

