由于错误无法在 Ubuntu WSL 上运行 Docker 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?

Pal*_*lBo 24 linux ubuntu docker windows-subsystem-for-linux

我在 Windows 10 机器上运行 WSL 2 (Ubuntu)。我使用官方 Docker 指南 ( https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository )在我的 Ubuntu 上安装了 Docker 。运行docker run hello-world会产生以下错误:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

我尝试了以下步骤:

  1. 使用sudo docker...代替docker...
  2. 将用户添加到 docker 用户组 sudo usermod -aG docker $(whoami)
  3. sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &我在这个线程中找到的:https : //forums.docker.com/t/cannot-connect-to-the-docker-daemon-is-the-docker-daemon-running-on-this-host/8925/4

这些步骤都没有帮助。

docker version 产生这个输出:

Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b7f0
 Built:             Wed Mar 11 01:25:46 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Run Code Online (Sandbox Code Playgroud)

service docker statusDocker is not running. service docker start/restart什么都不做,Docker 不会启动。任何想法可能是什么问题?

J.S*_*rra 37

我发现了你的问题,因为我试图达到同样的目的。{我已经用最新的 Windows 更新更新了我的问题,这个过程要容易得多}

使用 WSL2

您只需激活并使用 WSL2,我必须安装 Ubuntu 20.04,因为 18.04 未与 Docker 桌面连接。在 Windows 外壳中:

要检查 WSL 模式,请运行

wsl -l -v

要将现有的 Linux 发行版升级到 v2,请运行:

wsl --set-version (distro name) 2

WSL 集成将在您的默认 WSL 发行版上启用。要更改默认 WSL 发行版,请运行

wsl --set-default <distro name>

然后在 docker 中你必须这样做。

...使用 WSL2 引擎 激活 WSL2

...从默认 WSL2 访问 在此处输入图片说明

基于这篇文章。 Windows 上的 Linux 开发环境,带有 WSL 2、Docker 桌面 和 docker 文档。 Docker 桌面 WSL 2 后端

以下仅对 WSL1 有效

docker 似乎无法在 WSL 内运行。他们建议将 WSL 连接到在 Windows 中运行的 docker 桌面:Setting Up Docker for Windows and WSL

在 docker 论坛中,他们还提到了该解决方案:Cannot connect to the docker daemon

希望有帮助。

  • 这并不能回答问题。@PalBo 询问如何使用通过正常 Ubuntu 安装过程安装的 Docker,而不是使用安装在包含 WSL 2 发行版的 Windows 操作系统上的 Docker Desktop。 (32认同)
  • 这个命令可以解决我的问题: `$ sudo /etc/init.d/docker start` (10认同)
  • 我只需要升级 Ubuntu 18.04 -&gt; 20.04 (2认同)

Bio*_*yne 11

进入PowerShell并输入:docker context ls

输出:

NAME                DESCRIPTION                               DOCKER ENDPOINT                  KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST based configuration   npipe:////./pipe/docker_engine                         swarm
Run Code Online (Sandbox Code Playgroud)

返回到您的 wsl/ubuntu 设置并输入:

export DOCKER_HOST=unix:///var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

当您输入 时,这应该会自动显示您的完整输出docker version

  • 执行此操作后没有任何变化,仍然收到相同的消息 (15认同)