这是我的设置:
Windows 10 PRO - build 19041.153
- 内幕程序 - 慢响Ubuntu 18.04LTS
WSL2 模式下的子系统Docker for desktop 2.2.0.4
- 启用 WSL2 与我的 Ubuntu 子系统的集成
我目前被迫使用Windows进行开发,所以我成为了microsoft Insider成员并以WSL2模式安装了ubuntu。 Docker 桌面支持 WSL2 的集成,所以我尝试了它……一周以来它完美无缺。今天PC重启后,我无法让docker再次运行。 Ubuntu 可以从 Docker 桌面看到注入的二进制文件,但它无法再连接到 Windows 托管的 docker daemon。
当我调用 subsys 终端 docker info
它返回
$ docker info
Client:
Debug Mode: false
Server:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
或与 docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
我已经尝试过的:
- 使用
DOCKER_HOST=localhost:2375
,DOCKER_HOST=tcp://localhost:2375
,DOCKER_HOST=127.0.0.1:2375
,DOCKER_HOST=tcp://127.0.0.1:2375
2295447fbbdea533b50c 等环境暴露没有 TLS 的守护进程 - 卸载 Docker 桌面并安装以前的版本
- 关闭win防火墙
我真的,真的需要这个工作。感谢您的任何想法。最奇怪的是它昨天工作,从那时起我没有对系统进行任何更改……
原文由 Dutch77 发布,翻译遵循 CC BY-SA 4.0 许可协议
我知道这对于目前的问题可能已经过时,但这应该可以节省我们宝贵的时间,尤其是当 Windows 20H1=2004 本月(2020 年 5 月)将投入生产时。
操作系统版本:Windows 10 教育版(与企业版相同,是专业版的超集)。
版本:2004
构建(版本操作系统) :19041.264
其他:Windows 功能体验包 120.2202.130.0。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
外壳:WSL 终端
首先,我之前已经安装了 WSL v1 ,然后执行了升级到 WSL v2 的过程,并且出现了这个错误:“错误:无法在 tcp://localhost:2375 连接到 Docker 守护进程。docker 守护进程是否正在运行?”。
其次,为了解决这个问题,我按照此处所述的说明进行操作: Link ,它起作用了。
第三,经过一些测试,我认为升级中缺少的更改是从 shell 的启动脚本中删除 DOCKER_HOST 变量。
摘要: 就我而言,永久修复的程序应遵循以下 步骤:
1. 测试是否是您取消设置 DOCKER_HOST 变量的情况(见下图)。
2. 如果上一步错误消失,那么是时候修复更改了,删除 shell 启动脚本中 DOCKER_HOST 变量的设置(在我的情况下是 $HOME/.bashrc )。
对此进行了评论:
#export DOCKER_HOST=tcp://localhost:2375
#export DOCKER_BUILDKIT=1
_注意_:还包括 DOCKER_BUILDKIT。
3. 关闭并打开终端。
步骤 1 中的测试:
祝你好运!!