如何在WSL 2下运行docker-compose

13
根据Docker文档,在WSL v2下使用Docker应该相当简单:
  1. 安装WSL 2(确保满足所有先决条件);
  2. 安装Docker Desktop 2.2.0或更高版本;
  3. 在Docker设置中启用“在tcp://localhost:2375上公开守护程序而不使用TLS”和“启用基于实验性WSL 2的引擎”;
  4. 确保Linux文件系统中未安装任何与Docker相关的软件包。
完成上述步骤后,我应该能够从Linux终端运行dockerdocker-compose命令。但事实并非如此。我一直收到错误提示:Command 'docker' not found, but can be installed with sudo apt install docker.io'。 我做错了什么?
4个回答

17
你是否在"资源管理器"中检查了WSL集成功能是否启用?请参照下图:Docker Desktop设置快照

虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。- 来自审查 - Chris
@Chris 实际上这是一个指向 Stack imgur 的链接,回答者上传了他们的图片,所以只要 Stack 还在这里,它就不会消失。话虽如此,这个图形至少应该被内联包含,但这只是一个简单的编辑。 - NotTheDr01ds
我的配置与上面的图像类似,但仍然出现“在此WSL 2发行版中找不到'docker-compose'”的错误。 - Ali Sherafat

4
我刚在 WSL2 Ubuntu 终端中使用了 docker-compose.exe up 命令,它可以正常工作。 在 WSL2 中需要使用 .exe 扩展名来运行 Windows 可执行文件

一个令人赞叹的答案 - undefined

2

您是否确认已启用WSL2?请在PowerShell中运行以下命令。

wsl -l -v

如果您的发行版不支持WSL 2,请按照以下步骤启用它。
wsl --set-version <Distro> 2

1
我遇到了同样的问题,是的,我的发行版运行的是版本2。守护程序已经暴露,检查了在docker中的WSL2... 仍然,我收到了相同的错误消息。 - SKMTH

2
  1. Install docker and docker-compose.
  2. Type in the terminal:

    sudo service docker start
    sudo service --status-all | grep '+'
    

你有拼写错误和/或格式问题:https://stackoverflow.com/editing-help - Yunnosch
7
我认为这是一个仅包含代码的答案。请帮助打消StackOverflow是寻找未付费程序员平台的错误印象。为此,请添加一个解释说明它如何运作以及为什么有帮助。 - Yunnosch
2
这在WSL2上不起作用,因为系统没有使用常规systemd守护程序引导。 - Gaétan RYCKEBOER

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接