首页 > 解决方案 > Docker 无法在 Windows 上运行 Ubuntu 20.04

问题描述

我目前正在尝试通过 Ubuntu 20.04 下载 Hyperledger Fabric。我通过windows商店下载了ubuntu。我还下载了 docker desktop 并为 Ubuntu 设置了 WSL 2 后端。但是,在通过 ubuntu 终端安装 docker.io 之后,使用

sudo apt-get install docker.io 

我试图启用它。由于 ubuntu 使用的是 Sysvinit 而不是 systemd,因此我使用以下内容尝试启用 docker。

sudo service docker start

返回

docker: unrecognized service

我是 linux 新手,所以任何我错过的可以解决这个问题的建议或任何明显的东西都将不胜感激

谢谢

标签: dockerubuntuhyperledger-fabricwsl-2

解决方案


在 WSL 中运行的 ubuntu 发行版在关键方面与普通 ubuntu 不同。其中之一是它没有标准的 linux 初始化系统。

  1. service:启动 SysV init 系统中定义的服务。如果您执行 ls /etc/init.d/ 您将看到服务。当我查看我的 WSL 安装时,我看到了 cron。所以这有效(但可能无法在重启后存活):

    sudo 服务 cron 启动

    docker 没有初始化脚本,所以这行不通。

  2. systemctl (systemd):启动 systemd 系统中定义的服务。这可能是您想要的,除非您运行:

    sudo systemctl 启动泊坞窗

你得到:

System has not been booted with systemd as init system (PID 1). Can't operate.

因此,您需要手动启动 docker,而不是使用正常的初始化系统。

这使我们得到了真正的答案:

https://docs.docker.com/docker-for-windows/wsl/

根据 docker docs,您不会在 linux 上将 docker 作为服务运行。在 Windows 上安装 docker 并让它与 WSL 上的 docker 引擎交互以运行您的容器。


推荐阅读