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

Docker与WSL报错:重启后创建镜像遇超时及未授权问题求助

解决WSL+Docker重启后网络超时与未授权问题

我之前在Windows用WSL搭配Docker的时候也遇到过几乎一模一样的问题,重启后突然连不上镜像仓库,还弹出超时和未授权错误。给你整理了几个按优先级排序的修复步骤,你可以一步步试:

1. 先确认WSL与Docker Desktop的集成状态

很多时候重启后Docker的WSL集成会莫名其妙失效:

  • 打开Docker Desktop,点击右上角设置图标,找到Resources > WSL Integration
  • 确保你正在使用的WSL发行版(比如Ubuntu)是勾选状态,没勾的话勾选上,然后点击Apply & Restart重启Docker
  • 打开WSL终端,输入docker info,如果能正常返回Docker daemon的详细信息,说明连接没问题;要是还是报错,继续往下走

2. 重置Docker网络配置

网络超时大概率是DNS缓存或者代理干扰导致的,先重置Docker的网络:

  • 右键任务栏的Docker图标,选择Quit Docker Desktop彻底关闭
  • 打开CMD(命令提示符),依次运行以下命令:
    net stop docker
    net stop com.docker.service
    docker network prune -f
    docker system prune -af
    
  • 重新启动Docker Desktop,然后尝试拉取一个测试镜像(比如docker pull hello-world),看看能不能成功

3. 修复WSL的DNS解析

WSL默认的DNS有时候会跟着Windows的网络变化出问题,导致无法解析Docker Hub的地址:

  • 在WSL终端里输入sudo nano /etc/resolv.conf编辑DNS配置文件
  • 把里面的内容替换成公共DNS服务器,比如:
    nameserver 8.8.8.8
    nameserver 1.1.1.1
    
  • 按Ctrl+O保存,Ctrl+X退出,然后运行ping registry-1.docker.io,如果能正常收到响应,说明DNS问题解决了,再试Docker命令

4. 清理Docker登录缓存解决未授权错误

UNAUTHORIZED错误通常是登录缓存过期或者异常导致的:

  • 在WSL终端里运行docker logout,清空当前的登录凭证
  • 如果需要登录Docker Hub或者私有仓库,重新输入docker login(Docker Hub的话直接回车,然后输入账号密码;私有仓库要加上仓库地址)
  • 要是你之前改过Docker镜像源,检查一下镜像源的配置有没有问题,比如/etc/docker/daemon.json文件里的镜像地址是否正确

5. 重置WSL与Docker的关联

如果上面的步骤都没用,试试彻底重置两者的关联:

  • 在Docker Desktop设置里,先取消勾选所有WSL发行版的集成,点击Apply & Restart
  • 打开WSL终端,运行wsl --shutdown,关闭所有WSL实例
  • 重新打开Docker Desktop,再次勾选WSL集成,重启Docker后测试

要是所有方法都试过还是不行,可以尝试完全卸载重装:

  • 先卸载Docker Desktop,然后运行wsl --unregister <你的WSL发行版名称>(比如wsl --unregister Ubuntu)
  • 重新安装WSL发行版和Docker Desktop,安装过程中尽量保持默认配置,不要随意修改网络相关设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:52:32