AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1380051
Accepted
יחזקאל הירשהורן
יחזקאל הירשהורן
Asked: 2021-12-10 01:09:18 +0800 CST2021-12-10 01:09:18 +0800 CST 2021-12-10 01:09:18 +0800 CST

docker:安装 CUDA 时无法识别的服务

  • 772

WSL2 Ubuntu 20.04.3 LTS 内核映像:5.10.60.1-microsoft-standard-WSL2

我正在尝试根据此处的说明安装 CUDA:https ://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2

docker: unrecognized service运行命令时我收到一条消息sudo service docker stop。我确实按照教程中的该命令的说明进行操作,并且运行结果sudo apt update && sudo apt install -y nvidia-docker2似乎成功。我还尝试检查 docker 服务是否完全可用,service --status-all但在结果中没有看到。

请帮我弄清楚如何正确安装 CUDA,我正在尝试为我正在从事的图像处理项目设置带有 GPU 支持的 opencv。

以下是我运行的上述命令的输出:

 service --status-all

输出:

 [ - ]  apparmor
 [ ? ]  apport
 [ - ]  atd
 [ - ]  console-setup.sh
 [ - ]  cron
 [ ? ]  cryptdisks
 [ ? ]  cryptdisks-early
 [ - ]  dbus
 [ ? ]  hwclock.sh
 [ + ]  irqbalance
 [ - ]  iscsid
 [ - ]  keyboard-setup.sh
 [ ? ]  kmod
 [ - ]  lvm2
 [ - ]  lvm2-lvmpolld
 [ - ]  multipath-tools
 [ + ]  open-iscsi
 [ - ]  open-vm-tools
 [ ? ]  plymouth
 [ ? ]  plymouth-log
 [ - ]  procps
 [ - ]  rsync
 [ - ]  rsyslog
 [ - ]  screen-cleanup
 [ - ]  ssh
 [ ? ]  ubuntu-fan
 [ + ]  udev
 [ - ]  ufw
 [ - ]  unattended-upgrades
 [ - ]  uuidd
 [ - ]  x11-common

命令:

sudo apt update && sudo apt install -y nvidia-docker2

输出:

Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 https://nvidia.github.io/libnvidia-container/experimental/ubuntu18.04/amd64  InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:5 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  InRelease
Hit:6 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:7 https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64  InRelease
Hit:8 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64  InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree
Reading state information... Done
nvidia-docker2 is already the newest version (2.8.0-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
services
  • 1 1 个回答
  • 4768 Views

1 个回答

  • Voted
  1. Best Answer
    NotTheDr01ds
    2021-12-10T14:10:19+08:002021-12-10T14:10:19+08:00

    我已经能够使用您链接的(显然已过时的)规范说明来重现此内容。

    您可以/var/log/apt/term.log在安装docker.io包的过程中看到问题:

    invoke-rc.d: unknown initscript, /etc/init.d/docker not found.
    

    这与service命令尝试运行的初始化脚本相同。docker.io据推测,它是在编写说明(并且可能有效)和现在之间的某个时间从包中删除的。这并不奇怪,真的。Ubuntu 使用 Systemd,并docker.io为 Docker 服务安装 Systemd 单元文件。许多软件包过去还提供旧版 init 脚本。

    但是,WSL 不支持 Systemd(至少没有很多hackery)。最好有一个为service命令提供初始化脚本的 Docker 版本。要么,要么知道如何在 WSL 下自己开始。

    因此,让我们从卸载docker.io及其安装的依赖项开始:

    sudo apt remove docker.io
    sudo apt autoremove
    

    那么你有两个选择。任何一个:

    • 为 Windows 安装 Docker 桌面。Docker Desktop 与 WSL 紧密集成,并提供了一些您在开源 Docker 版本中没有的不错的功能:

      • 它可以在多个 WSL2 实例之间共享
      • 它可以从 PowerShell 和 CMD 运行
      • 它提供了容器和卷的 GUI 仪表板
      • 它处理自动升级(尽管有些人可能认为这不一定是一个优势)
      • 这是一种方便的方法,可以自动为您处理下面的所有其他内容。

      如果您在大公司中使用它,最近有一个许可证更改需要付费订阅。结果,有些人似乎想要摆脱它,但我建议(纯粹是我的观点)如果你为一家大公司工作,他们通常会为这些工具付费。而这反过来又有助于资助 Docker 的开源计划。

    • 但是,如果您确实想使用开源版本,您可以使用(大部分)Ubuntu 的官方 Docker 说明来实现。

      这些说明确实假定安装脚本将启动 Docker 守护程序。但是,它尝试使用在 WSL 上失败的 Systemd。但现在它确实提供了 init.d 脚本,因此您现在可以sudo service docker start像最初尝试的那样运行。

      或者,nVidia 提供了使用该脚本的设置说明。get.docker.com

    • 1

相关问题

  • Upstart 有什么 GUI 工具吗

  • Ubuntu 服务器的 Chkconfig 替代品?

  • “服务”和“/etc/init.d/”有什么区别?

  • 延长笔记本电脑和笔记本电脑电池寿命的技巧

  • 命令列出启动时启动的服务?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve