与无法找到带有码头的Ubuntu WSL完全相同的问题
$ docker
The command 'docker' could not be found in this WSL 1 distro.
We recommend to convert this distro to WSL 2 and activate
the WSL integration in Docker Desktop settings.
See https://docs.docker.com/docker-for-windows/wsl/ for details.但是我的要求不一样--我想
也就是说,我把WSL1和并行安装在一起。这是我目前的信息:
C:> ver
Microsoft Windows [Version 10.0.18363.1379]
C:> wsl -l -v
NAME STATE VERSION
* Debian Running 1我看不到“参考资料-> WSL集成”中的集成,也没有在Desktop设置中启用WSL2后端。

只是我遇到了上面的问题--我的docker在任何地方都能工作,在CMD、Powershell、git等等,只是我的WSL不工作。
我找到的所有解决方案都是在WSL1或WSL2中安装,但我希望保持原样-- WSL和并行安装。
有什么解决办法吗?
发布于 2021-03-04 01:43:09
在这个WSL 1发行版中找不到命令'docker‘。 我们建议将此发行版转换为WSL 2并激活 Docker桌面设置中的WSL集成。
这意味着在WSL2中,它有一个真正的linux内核,这是安装daemon所必需的,那么在docker-desktop中,您可以在WSL2中设置daemon。否则,停靠守护进程将在Hyper-V machine中运行。但是,如果坚持使用WSL1,就没有机会在WSL中运行docker-daemon,因此唯一的选择是在Hyper-V machine中运行docker daemon。
尽管以上是事实,但我们仍然有机会让您在WSL1 bash中操作WSL1等,就像您通过CMD, Powershell, git-bash操作一样,即允许Docker接受来自远程主机的请求。
对于您的情况,接下来的步骤可能是:
docker desktop 1.将设置中的停靠守护进程公开为下一步,然后单击

在WSL1**:**中安装独立的客户端
$ wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.5.tgz
$ tar zxvf docker-20.10.5.tgz
$ cd docker3.设置默认的停靠守护进程:
$ export DOCKER_HOST=tcp://localhost:23754.验证码头客户端命令:
$ ./docker info发布于 2021-03-04 16:21:39
就是FTA,这是我找到的快速解决办法,同时我也在努力解决这个问题。
将C:\Program Files\Docker\Docker\resources\bin\docker文件更改为
#!/usr/bin/env sh
#
# Copyright (c) Docker Inc.
binary=$(basename "$0")
"$binary.exe" "$@"那么docker现在可以在任何地方工作,比如CMD、Powershell、git-bash以及WSL1。
请注意,这种恶意的解决方案特别适用于OP中描述的情况,可能不会适用于其他任何情况。
https://stackoverflow.com/questions/66466339
复制相似问题