fix: 自动移除 WSL2 Docker Windows 凭据存储配置(docker-credential-desktop.exe)

这个提交包含在:
xuqinmin12 2026-06-12 18:43:57 +08:00
父节点 bddff7d9c8
当前提交 f7b5ac1a6c

查看文件

@ -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
# ---------------------------------------------------------------------------