diff --git a/install.sh b/install.sh index 726fc04..0e23eb3 100755 --- a/install.sh +++ b/install.sh @@ -116,6 +116,20 @@ docker info >/dev/null 2>&1 || { systemctl start docker 2>/dev/null || sudo serv docker info >/dev/null 2>&1 || fail "Docker daemon 未运行,请执行: sudo service docker start 或 systemctl start docker" ok "Docker $(docker --version | grep -o '[0-9]*\.[0-9]*\.[0-9]*' | head -1)" +# 修复 WSL2 Docker 凭据存储(移除 .exe 帮助程序,避免 docker login 报错) +_DOCKER_CFG="$HOME/.docker/config.json" +if [ -f "$_DOCKER_CFG" ] && grep -q '"credsStore".*\.exe' "$_DOCKER_CFG" 2>/dev/null; then + python3 - "$_DOCKER_CFG" <<'PYEOF' +import json, sys +path = sys.argv[1] +with open(path) as f: c = json.load(f) +if c.get('credsStore', '').endswith('.exe'): + del c['credsStore'] + with open(path, 'w') as f: json.dump(c, f, indent=2) + print(" → 已移除 Windows 凭据存储配置 (docker-credential-desktop.exe)") +PYEOF +fi + # --------------------------------------------------------------------------- # Step 3 — 确认 Docker Compose v2 # ---------------------------------------------------------------------------