Mac Intel芯片下Quarkus 2.16.6 Final DevServices Docker检测失败求助
具体修复步骤
手动指定Docker主机地址
在项目的application.properties中添加配置,强制Quarkus使用正确的Docker连接地址:# Unix socket方式(Mac Intel默认推荐) quarkus.docker.host=unix:///var/run/docker.sock # 或者TCP方式(需Docker Desktop开启对应选项) quarkus.docker.host=tcp://localhost:2375注:如果用TCP方式,要先在Docker Desktop的设置里开启"Expose daemon on tcp://localhost:2375 without TLS"选项。
清除DevServices失败状态缓存
Quarkus会缓存Docker检测失败的状态,直接删除缓存目录即可:
找到用户根目录下的.quarkus文件夹,删除其中的dev-services/docker-state目录,然后重启Quarkus开发模式。验证并设置Docker环境变量
在终端执行echo $DOCKER_HOST,确认输出的地址和Docker实际监听地址一致。如果为空,手动设置后再启动Quarkus:export DOCKER_HOST=unix:///var/run/docker.sock ./mvnw quarkus:dev升级/降级Quarkus版本
2.16.6 Final可能存在和Docker Desktop的兼容性bug,尝试升级到同分支的最新小版本(比如2.16.10 Final),或者回退到之前稳定的版本,测试是否能正常识别Docker。检查用户Docker权限
确认当前用户拥有Docker操作权限,在终端执行:groups | grep docker如果输出里没有docker,重启Docker Desktop并重新登录用户,或者在Docker Desktop偏好设置的"File Sharing"板块确认权限配置正确。
禁用DevServices缓存
在application.properties中添加配置,强制每次启动都重新检测Docker环境:quarkus.dev-services.cache.enabled=false
内容的提问来源于stack exchange,提问作者TillTheDayIDie

