You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2 Ubuntu搭配Docker Desktop执行docker login时存储凭证报错

解决WSL2集成Docker Desktop时的登录凭证存储错误

解决方法

方法1:修改Windows端Docker配置同步到WSL

  • 关闭Docker Desktop
  • 打开Windows用户目录下的C:\Users\<你的用户名>\.docker\config.json
  • 删除"credsStore": "desktop.exe"这一行,或者替换为"credsStore": "wincred"
  • 重启Docker Desktop,它会自动将修改后的配置同步到WSL的~/.docker/config.json
  • 重新在WSL终端执行docker login <registry> -u <user> -p <password>

方法2:在WSL中使用独立的Docker配置(阻止自动覆盖)

  • 关闭Docker Desktop
  • 进入WSL的~/.docker目录,删除现有config.json文件
  • 创建新的config.json,内容示例:
{
  "auths": {},
  "HttpHeaders": {
    "User-Agent": "Docker-Client/24.0.6 (linux)"
  }
}
  • 将该文件设置为只读,防止Docker Desktop覆盖:
chmod 444 ~/.docker/config.json
  • 启动Docker Desktop后,再执行登录命令,凭证会正常存储在这个独立配置文件中

方法3:临时绕过凭证存储问题

如果只是临时登录,可使用--password-stdin参数避免触发凭证存储错误:

echo "<你的密码>" | docker login <registry> -u <你的用户名> --password-stdin

问题原因

Docker Desktop开启WSL2集成后,会自动同步Windows端的Docker配置到WSL环境的~/.docker/config.json,所以直接修改WSL里的配置文件会被覆盖。而desktop.exe是Windows端Docker使用的凭证存储工具,在WSL环境下调用它会出现兼容性问题,从而导致"收到错误数据"的报错。

内容的提问来源于stack exchange,提问作者wolfson109

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 13:22:38