Ubuntu 错误“在此 WSL 2 发行版中找不到命令‘docker’。”

2024-04-16

我在 Ubuntu 上运行 WSL 2,在计算机上启动和运行 docker 时遇到一些问题。我安装了 Docker Desktop 并在后台运行,并且还启用了与 Ubuntu 的 WSL 集成。

当我尝试运行简单的 docker 命令时,例如docker --version,我收到此错误:

在此 WSL 2 发行版中找不到命令“docker”。 我们建议在 Docker Desktop 中激活 WSL 集成 设置。

有关将 Docker Desktop 与 WSL 2 结合使用的详细信息,请访问:

https://docs.docker.com/go/wsl2/

我已经访问了该链接并按照它提供的所有说明进行操作,启用了 WSL 与 Ubuntu 的集成,如下所示:

但是我收到的错误仍然是相同的。有谁知道如何解决这一问题?

注意:我可以运行 Docker 命令(例如docker --version)在 PowerShell 和命令提示符中,但在 Ubuntu 中无法识别。


“Docker Desktop”应该集成到 WSL 中,无需额外配置。特别是,应该not有必要将文件夹附加到 PATH 环境变量中。

当然,必须确保为 WSL2 设置“Docker Desktop”以及特定的 WSL 发行版:在“Docker Desktop”设置中,必须选中“常规/使用基于 WSL2 的引擎”并wsl -l -v应列出版本 2。如果后者不正确,则可以通过以下方式修复wsl --set-version <distribution> 2, where <distribution>是上一个列表中的名称。请注意,“Ubuntu”和“Ubuntu-22.04”(例如)是不同的。

“Docker Desktop”通常与默认发行版集成。从星号中可以看出wsl -l -v哪一个被选中了。对我来说,这一次被设置为“docker-desktop-data”(可能是因为“Docker Desktop”早于发行版安装)。可以通过以下方式更改默认分布wsl --set-default <distribution>。此外,在“Docker Desktop”设置的“资源/WSL 集成”中,必须设置选项“启用与我的默认 WSL 发行版的集成”。

If another除了默认发行版之外,还应该使用 docker,需要在“资​​源/WSL 集成”的发行版列表中明确选择它。如果最近在“Docker Desktop”已经运行时安装了其他发行版,请按“刷新”。

据我所知,“整合”意味着一个链接/usr/bin/docker, 指向/mnt/wsl/docker-desktop/cli-tools/usr/bin/docker,自动创建。自从/mnt/wsl/docker-desktop/cli-tools/usr/bin/docker似乎在所有发行版中都可用,无论集成设置、是否存在(或不存在)/mnt/wsl/docker-desktop/cli-tools/usr/bin其内容可能有助于分析问题。应该有docker, docker-compose和别的:

ls -l /usr/bin/docker
ls -l /mnt/wsl/docker-desktop/cli-tools/usr/bin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 错误“在此 WSL 2 发行版中找不到命令‘docker’。” 的相关文章

随机推荐

  • CentOS 的 init.d celery 脚本?

    我正在编写一个使用 celery 的 Django 应用程序 到目前为止 我一直在 Ubuntu 上运行 但我正在尝试部署到 CentOS Celery 为基于 Debian 的发行版提供了一个很好的 init d 脚本 但它不适用于基于
  • 本地实例不支持 couchdb POST 方法

    我的本地 couchdb 实例似乎不支持 POST 方法 这是我从 chrome 开发工具得到的答案 POST http localhost 5984 epos couch design epos couch view ri 415 Uns
  • 如何在只读 Jupyter Notebook 中保存更改

    我打开了一个 python Jupyter 笔记本 但没有注意到它处于只读 不可信模式 现在如何保存我的更改 我尝试过但没有帮助的事情 文件 gt 制作副本 文件 gt 保存并检查点 文件 gt 下载为 文件 gt 信任笔记本 如上所述he
  • MySQL 数据库中的克罗地亚变音符号 (utf-8)

    变音符号 http img98 imageshack us img98 3383 dijakritickiznakovi gif http img98 imageshack us img98 3383 dijakritickiznakovi
  • TypeScript D3 v4 导入不起作用

    我正在尝试在 D3 之上构建一个小型 JS 库来绘制折线图 我对整个场景相当陌生 但我认为跳入 深渊 是最好的学习方式 这是我的内容package json name d3play02 version 1 0 0 description m
  • 如何计算 VU 仪表刻度的对数标签?

    我使用画布编写一个仪表小部件 需要计算刻度的标签值 没问题 除非我尝试重新创建 VU 表的刻度 我知道它是对数的 但在这种类型的仪表上 这些值不是 10 的幂 see https en wikipedia org wiki VU meter
  • 将自定义 CLI 命令移动到另一个文件

    我有一些针对我正在编写的 Flask 应用程序的自定义 cli 命令 我正在按照此处的说明进行操作 命令行界面 http flask pocoo org docs 1 0 cli 问题是我不想把它们全部放在我的 app py 文件中 它会变
  • Git 配置 user.name 不起作用

    我今天安装了适用于 Windows 7 的 Git 我对 Git 还不太了解 我正在关注http git scm com book en Getting Started First Time Git Setup http git scm c
  • 模块化 pow() 中的负幂

    我们如何使用pow在模块化上下文中带有负指数 战俘 x y z 如果存在 z 则 x 和 y 必须是整数类型 并且 y 必须是非负数 gt gt gt pow 11444 357 0 0 gt gt gt pow 11444 357 487
  • 如何在 NLog 中打开和关闭特定级别的日志记录

    我在我的应用程序中使用 NLog 我想创建一个开关来打开和关闭特定的记录器级别
  • 切换 Antd 表单的可见性

    当选择下拉菜单中的选项时 我需要显示某些输入 下拉菜单包含三个选项 血压 体重和温度 当用户选择一个选项时 与该选项相关的输入字段需要可见 而其余的则需要隐藏 例如 当用户选择 血压 时 收缩压和舒张压输入字段需要可见 而温度和体重字段需要
  • 如何在 Linux 中符号链接文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在Linux 中建立一个符号链接 我编写了这个 Bash 命令 其中第一个路径是我想要链接到的文件夹 第二个路径是编译的源代码 ln
  • 在 iPhone 和 Android 上生成 2D 条形码(例如 QR 码、Data Matrix、PDF417)

    我需要一个图书馆generateiPhone 和 Android 上的 2D 条形码 最好是 WM7 也可能是 j2me 其想法是将信息传输到具有相应扫描仪 解码器 的另一台设备 有哪些好的选择 ZXing http code google
  • 使用 URLField 相对于 TextField 有何优势?

    据我了解 你应该始终使用TextField当您使用 PostgreSQL 数据库时 对于可变长度字符串 因为之间的速度差异TextField and a CharField对于 PostgreSQL 来说可以忽略不计 我对 Django 比
  • API 自动化测试:有没有办法通过内容验证来自动化下载场景?

    我的应用程序中有导出到 Excel 的功能 我有一个场景 执行导出到 Excel 验证 API 响应状态和导出的 Excel 内容 使用 Postman 我可以使用 发送和下载 选项以 xlsx 格式保存导出的 Excel 稍后我可以手动验
  • 如何在 Java 中替换/删除 UTF-8 字符串中的 4(+) 字节字符?

    由于 MySQL 5 1 不支持 4 字节 UTF 8 序列 因此我需要替换 删除这些字符串中的 4 字节序列 我正在寻找一种干净的方法来替换这些字符 Apache 库用问号替换字符对于这种情况来说是可以的 当然 尽管 ASCII 等效的字
  • 与共享数据相比,消息传递的性能损失

    最近有很多关于不使用锁和使用 Erlang 等消息传递方法的讨论 或者关于使用不可变的数据结构 例如函数式编程与 C Java 中的比较 但我关心的是以下几点 AFAIK Erlang 不保证消息传递 消息可能会丢失 如果还要担心消息丢失
  • 压缩从设备获取或从库、iOS 中选择的图像

    在我的应用程序中 用户可以从设备拍摄照片或从库上传照片以将其设置为个人资料照片 现在 当用户完成后 我需要将该图像上传到服务器 通常从设备获取的图像大小为 5 6MB 我需要在上传到服务器之前将其压缩到 25KB 所以我使用以下方法 voi
  • 多标签 OneVsRestClassifier 的网格搜索?

    我正在对多标签数据进行网格搜索 如下所示 imports from sklearn svm import SVC as classifier from sklearn pipeline import Pipeline from sklear
  • Ubuntu 错误“在此 WSL 2 发行版中找不到命令‘docker’。”

    我在 Ubuntu 上运行 WSL 2 在计算机上启动和运行 docker 时遇到一些问题 我安装了 Docker Desktop 并在后台运行 并且还启用了与 Ubuntu 的 WSL 集成 当我尝试运行简单的 docker 命令时 例如