From f7b5ac1a6c67b4afd1962edd6e71a507f0a07202 Mon Sep 17 00:00:00 2001 From: xuqinmin12 Date: Fri, 12 Jun 2026 18:43:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=87=AA=E5=8A=A8=E7=A7=BB=E9=99=A4=20W?= =?UTF-8?q?SL2=20Docker=20Windows=20=E5=87=AD=E6=8D=AE=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=88docker-credential-desktop.exe?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 # ---------------------------------------------------------------------------