Docker 正在运行。Docker Desktop 显示“Docker Desktop 已停止...”

Cyr*_*rus 14 ubuntu docker docker-desktop

我已经使用本指南在我的 Ubuntu 20.04 VM 上安装了 Docker 和 Docker Desktop:

\n

https://linuxiac.com/how-to-install-docker-desktop-on-ubuntu/

\n

一切都在运行,但我的 Docker 桌面应用程序似乎无法连接到 Docker 本身。

\n

service docker status返回:

\n
\xe2\x97\x8f docker.service - Docker Application Container Engine\n     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)\n     Active: active (running) since Fri 2022-05-13 14:49:12 PDT; 4 days ago\nTriggeredBy: \xe2\x97\x8f docker.socket\n       Docs: https://docs.docker.com\n   Main PID: 1086 (dockerd)\n      Tasks: 18\n     Memory: 73.0M\n     CGroup: /system.slice/docker.service\n             \xe2\x94\x94\xe2\x94\x801086 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock\n\nWarning: some journal files were not opened due to insufficient permissions.\n
Run Code Online (Sandbox Code Playgroud)\n

然而,这是我尝试在 Docker Desktop 中配置内容时得到的结果。当我单击设置时,我会看到一个永久加载旋转器。

\n

docker桌面错误

\n

我尝试过的

\n
    \n
  1. 我已经重新启动了 dockersudo service docker stop / start

    \n
  2. \n
  3. 我点击了 Ubuntu 桌面右上角的 Docker Desktop 下拉菜单重新启动。

    \n
  4. \n
  5. 我已将我的用户添加到该docker组中。

    \n
  6. \n
\n

我可以采取什么步骤来调试这个?我有什么明显遗漏的吗?

\n

谢谢!

\n

Mat*_*ate 13

我在 Debian 11 和 Docker Desktop 4.8.1 上遇到了同样的问题

  1. 如果您在 VM 中使用 Linux,请验证虚拟化支持。Docker Desktop 运行需要 KVM 支持的 VM。

https://docs.docker.com/desktop/linux/install/#kvm-virtualization-support

  1. 如果您使用 VMWare,则需要启用 CPU 计数器。

https://github.com/canonical/multipass/issues/1085

  1. 验证数量

    egrep -c '(svm|vmx)' /proc/cpuinfo

  2. 您需要停止并禁用 Docker。

    $ sudo service docker stop
    $ sudo systemctl disable docker.service
    $ sudo systemctl disable docker.socket
    
    Run Code Online (Sandbox Code Playgroud)

    然后,重新启动您的 Linux 和 Docker 桌面。

    更重要的是,如果您docker ps以 root 用户身份运行,则不会使用 docker 桌面。您还有另一个容器列表。

  3. 请注意,如果更改“设置->资源->高级:磁盘映像位置”,一定不要删除默认文件1.8G =>home/YOUR_USER/.docker/desktop/vms/0/data/Docker.raw

    您可以更改路径,但需要将该文件保留在该位置。

在此输入图像描述

恢复出厂设置 在此输入图像描述

Docker桌面重启

在此输入图像描述

重启电脑后 Docker 服务状态

在此输入图像描述

完整历史:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker YOUR_USER
sudo apt install gnome-terminal
sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager -y
sudo usermod -aG kvm YOUR_USER
sudo apt autoremove
sudo apt install ./docker-desktop-4.8.1-amd64.deb
sudo systemctl disable docker.service
sudo systemctl disable docker.socket
Run Code Online (Sandbox Code Playgroud)

测试 VirtualBox 虚拟机 - Ubuntu 20.04

在此输入图像描述

  • 别紧张!我关注的是官方的:https://docs.docker.com/desktop/linux/install/ubuntu/。 (3认同)

小智 10

Ubuntu我在22.04 虚拟机上遇到了同样的问题,其中Windows11 作为主主机,Docker Desktop4.9.0

\n

如果您正在使用,Virtualbox则需要启用嵌套虚拟化支持,该支持在 Windows 版本 > 6.0 上可用。另外值得一提的是,您需要禁用 Hyper-V、虚拟机平台和 Windows Hypervisor 平台,否则它将无法工作。

\n

为了在 VirtualBox 和 Windows 中启用嵌套 VT-X/AMD-V,您需要逐步指导:

\n\n
    \n
  1. 您需要通过在底部搜索区域中键入 CMD 来打开 Windows 命令行终端。一旦它出现,右键单击它并选择以管理员身份运行。这将以管理员模式打开命令行终端。

    \n
  2. \n
  3. 现在,您需要使用命令转到 VirtualBox 文件夹cd "Program Files\\Oracle\\VirtualBox"。该文件夹包含所有 VirtualBox 可执行组件以及我们需要在其中使用 VBoxManage 的其他重要文件。

    \n
  4. \n
  5. 要在 VirtualBox 中启用嵌套 VT-x/AMD-v,您需要运行VBoxManage modifyvm <vm_name> --nested-hw-virt on语法。前任。我正在为名为“Ubuntu 22.04”的虚拟机启用它,因此我将使用VBoxManage modifyvm "Ubuntu 22.04" --nested-hw-virt on命令。

    \n
  6. \n
\n

您应该测试是否可以使用 KVM,以便可以kvm-ok在 Ubuntu shell 上运行该命令克沃莫克

\n

为了安装 KVM,您需要执行以下操作:

\n
    \n
  1. 在 Ubuntu 22.04 上安装 KVM
  2. \n
\n

接下来,运行以下命令在 Ubuntu 22.04 上安装 KVM 和其他虚拟化包。

\n
$ sudo apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils\n
Run Code Online (Sandbox Code Playgroud)\n

让我们分解一下我们正在安装的软件包:

\n
    \n
  • qemu-kvm:提供硬件模拟的开源模拟器和虚拟化包。
  • \n
  • virt-manager:基于 Qt 的图形界面,用于通过 libvirt 守护进程管理虚拟机。
  • \n
  • libvirt-daemon-system:提供运行 libvirt 守护进程所需的配置文件的软件包。
  • \n
  • virtinst:一组用于配置和修改虚拟机的命令行实用程序。
  • \n
  • libvirt-clients:一组客户端库和 API,用于从命令行管理和控制虚拟机和虚拟机管理程序。
  • \n
  • bridge-utils:一组用于创建和管理桥接设备的工具。
  • \n
\n
    \n
  1. 授权用户
  2. \n
\n

只有kvm用户组的成员才能运行虚拟机。通过键入以下命令将用户添加到 kvm 组:

\n
$ sudo adduser \xe2\x80\x98<username>\xe2\x80\x99 kvm\n
Run Code Online (Sandbox Code Playgroud)\n

然后你需要停止并禁用docker

\n
$ sudo service docker stop\n$ sudo systemctl disable docker.service\n$ sudo systemctl disable docker.socket\n
Run Code Online (Sandbox Code Playgroud)\n

然后,重新启动,Docker Desktop 将被设置

\n


小智 6

Docker 需要虚拟化来工作。因此,您可以在 BIOS 中将其打开。这对我有用