突然间,我的Docker和WSL2停止工作了。我现在得到以下信息:
$ docker ps
Error response from daemon: dial unix /mnt/wsl/docker-desktop/shared-sockets/guest-services/docker.sock: connect: no such file or directory
**注意:**Docker可以通过Windows使用。
我尝试了以下方法,但没有成功:
- 重新安装Docker Desktop。
- 在WSL中重新安装Docker
- 手动创建.sock文件。
版本号 - Docker Desktop版本:2.3.0.3(45519)
- WSL2与Ubuntu 18.04
PS C:\Users\ms> wsl -l -v
NAME STATE VERSION
* Ubuntu-18.04 Running 2
docker-desktop-data Running 2
docker-desktop Running 2
有什么建议吗?
7条答案
按热度按时间pjngdqdw1#
不需要安装Docker desktop,它只会产生问题,并使Windows中的速度变慢。如果你以这种方式安装Docker,你将永远不会再遇到这样的问题:
安装结束后,打开一个新的Ubuntu终端,它将准备从现在开始摇滚。您可以运行任何docker镜像,例如:
或
x8diyxa72#
我知道这听起来很傻,但是你重新启动电脑了吗?我也有类似的问题,当我重新启动电脑时,它工作了。
plicqrtu3#
在尝试了多种方法后,修复Ubuntu,重置Ubuntu。对我来说,最有效的方法是:
toe950274#
我发现(在PowerShell中)wsl --list --verbose
docker-desktop-data stopped
原因是docker-desktop决定使用windows容器,我不知道为什么。
pu3pd22g5#
尝试关闭Windows上的所有防火墙,然后退出Docker Desktop并再次打开它
或
打开powershell并运行
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
,从:https://visualgdb.com/documentation/wsl2/或
tvokkenx6#
如果您使用Windows,请在cmd中尝试以下两个命令:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
在这两个命令之后重新启动计算机。
emeijp437#
您必须在Docker桌面上启用WSL集成。
转到Docker桌面设置。
General Tab
〉启用Use the WSL 2 based engine
Resources Tab
〉WSL Integration
〉启用您选择的发行版单击按钮
Apply and Restart