Windows 10 WSL Ubuntu Bash无法连接Docker Daemon求助
解决Windows 10 WSL Ubuntu Bash 无法连接Docker Daemon的问题
嘿,我太懂你这种连不上Docker Daemon的糟心感了!那些几年前的文章方法确实过时了,现在Docker Desktop已经原生支持WSL集成,这才是最稳定省心的解决方案,咱们一步步来搞定:
第一步:先确认Docker版本(别用老掉牙的Toolbox啦)
如果之前装的是Docker Toolbox,先彻底卸载干净。然后去官网下载最新的Docker Desktop for Windows,安装的时候一定要勾选「Use WSL 2 based engine」——要是你的Windows10是2004及以上版本,完全支持WSL2,稳定性比WSL1好太多,尽量升级到这个版本哦。
第二步:开启Docker Desktop的WSL集成功能
- 打开Docker Desktop,点右上角的齿轮图标进设置。
- 找到Resources → WSL Integration选项。
- 在列表里找到你正在用的Ubuntu发行版,把对应的开关打开,然后点Apply & Restart重启Docker Desktop。
第三步:手动配置环境变量(自动没生效的话补这一步)
一般开启集成后Docker会自动帮你配置好,但如果还是不行,咱们手动来:
打开Ubuntu Bash终端,编辑~/.bashrc文件:
nano ~/.bashrc
在文件末尾加一行:
export DOCKER_HOST=tcp://localhost:2375
按Ctrl+O保存,Ctrl+X退出,然后执行命令让配置立刻生效:
source ~/.bashrc
第四步:验证连接是否成功
在Ubuntu Bash里敲这两个命令试试:
docker info
或者更直观的:
docker run hello-world
要是能正常输出Docker的系统信息,或者成功跑起来hello-world容器,那就说明连接搞定啦!
要是你非得用旧的TCP端点方法(不推荐,但给你备用)
如果因为某些原因没法用Docker Desktop集成,那手动开TCP端点的话得注意这几点:
- 在Docker Desktop的设置里,找General选项,勾选「Expose daemon on tcp://localhost:2375 without TLS」,然后重启Docker。
- 得确保Windows防火墙允许2375端口的通信,或者暂时关了防火墙测试(测试完记得开回来!)。
- WSL1里访问Windows的localhost偶尔会有问题,试试换成Windows的实际IP地址,比如你的Windows网卡IP是192.168.1.100,那就在Ubuntu里设置:
export DOCKER_HOST=tcp://192.168.1.100:2375
⚠️ 注意:这种无TLS的TCP连接不安全,只适合本地开发用,绝对不能在生产环境这么搞!
内容的提问来源于stack exchange,提问作者rray
相关产品推荐
相关产品推荐

