在 Linux 上安装 Docker 桌面

Docker 桌面术语

Docker Desktop 在大型企业(超过 250 名员工或年收入超过 1000 万美元)的商业使用需要 付费订阅

此页面包含有关一般系统要求、支持的平台以及有关如何安装适用于 Linux 的 Docker Desktop 的说明的信息。

重要的

Linux 上的 Docker Desktop 运行虚拟机 (VM),该虚拟机desktop-linux在启动时创建并使用自定义 Docker 上下文。

这意味着部署在 Linux Docker Engine 上(安装之前)的映像和容器在 Docker Desktop for Linux 中不可用。

有关更多信息,请参阅 Docker Desktop for Linux 和 Docker Engine 之间有什么区别

重要的

对于大型企业(员工超过 250 名或年收入超过 1000 万美元)通过 Docker Desktop 获得 Docker Engine 的商业用途, 需要付费订阅。

Docker Desktop for Linux 提供了用户友好的图形界面,简化了容器和服务的管理。它包括 Docker Engine,因为这是为 Docker 容器提供支持的核心技术。适用于 Linux 的 Docker Desktop 还附带其他功能,例如 Docker Scout 和 Docker Extensions。

安装 Docker 桌面和 Docker 引擎

Docker Desktop for Linux 和 Docker Engine 可以并行安装在同一台计算机上。 Docker Desktop for Linux 将容器和映像存储在虚拟机内的隔离存储位置,并提供控制来限制 其资源。使用 Docker Desktop 的专用存储位置可以防止它干扰同一台计算机上的 Docker Engine 安装。

虽然可以同时运行 Docker Desktop 和 Docker Engine,但在某些情况下同时运行这两者可能会导致问题。例如,在为容器映射网络端口 ( -p/ --publish) 时,Docker Desktop 和 Docker Engine 可能会尝试在您的计算机上保留相同的端口,这可能会导致冲突(“端口已在使用中”)。

我们通常建议您在使用 Docker Desktop 时停止 Docker 引擎,以防止 Docker 引擎消耗资源并防止如上所述的冲突。

使用以下命令停止 Docker Engine 服务:

$ sudo systemctl stop docker docker.socket containerd

根据您的安装情况,Docker 引擎可能会配置为在您的计算机启动时作为系统服务自动启动。使用以下命令禁用 Docker Engine 服务,并阻止其自动启动:

$ sudo systemctl disable docker docker.socket containerd

在 Docker Desktop 和 Docker Engine 之间切换

Docker CLI 可用于与多个 Docker 引擎交互。例如,您可以使用相同的 Docker CLI 来控制本地 Docker Engine 和控制在云中运行的远程 Docker Engine 实例。 Docker 上下文 允许您在 Docker 引擎实例之间切换。

安装 Docker Desktop 时,会创建一个专用的“desktop-linux”上下文来与 Docker Desktop 交互。启动时,Docker Desktop 会自动将其自己的上下文 ( desktop-linux) 设置为当前上下文。这意味着后续的 Docker CLI 命令以 Docker Desktop 为目标。关闭时,Docker Desktop 会将当前上下文重置为上下文default

使用该docker context ls命令查看您的计算机上可用的上下文。当前上下文用星号 ( ) 表示*

$ docker context ls
NAME            DESCRIPTION                               DOCKER ENDPOINT                                  ...
default *       Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                      ...
desktop-linux                                             unix:///home/<user>/.docker/desktop/docker.sock  ...        

如果您在同一台计算机上安装了 Docker Desktop 和 Docker Engine,则可以运行该docker context use命令在 Docker Desktop 和 Docker Engine 上下文之间切换。例如,使用“默认”上下文与 Docker 引擎交互:

$ docker context use default
default
Current context is now "default"

并使用desktop-linux上下文与 Docker Desktop 进行交互:

$ docker context use desktop-linux
desktop-linux
Current context is now "desktop-linux"

有关更多详细信息,请参阅 Docker 上下文文档。

支持的平台

Docker 提供以下 Linux 发行版和架构的软件包.deb.rpm

平台x86_64 / amd64
乌班图
德班
红帽企业 Linux (RHEL)
软呢帽

实验性软件包可用于 基于Arch的发行版。 Docker 尚未测试或验证安装。

Docker 在上述发行版的当前 LTS 版本和最新版本上支持 Docker Desktop。随着新版本的推出,Docker 停止支持最旧的版本并支持最新版本。

一般系统要求

要成功安装 Docker Desktop,您的 Linux 主机必须满足以下一般要求:

  • 64 位内核和 CPU 支持虚拟化。
  • KVM虚拟化支持。按照 KVM 虚拟化支持说明检查 KVM 内核模块是否已启用以及如何提供对 KVM 设备的访问。
  • QEMU 必须是 5.2 或更高版本。我们建议升级到最新版本。
  • systemd 初始化系统。
  • Gnome、KDE ​​或 MATE 桌面环境。
    • 对于许多 Linux 发行版,Gnome 环境不支持托盘图标。要添加对托盘图标的支持,您需要安装 Gnome 扩展。例如, 应用程序指示器
  • 至少 4 GB RAM。
  • 启用在用户命名空间中配置 ID 映射,请参阅 文件共享
  • 建议: 初始化pass凭据管理。

适用于 Linux 的 Docker Desktop 运行虚拟机 (VM)。有关原因的更多信息,请参阅 为什么 Docker Desktop for Linux 运行 VM

笔记

Docker 不支持在嵌套虚拟化场景中运行 Docker Desktop for Linux。我们建议您在受支持的发行版上本地运行 Docker Desktop for Linux。

KVM虚拟化支持

Docker Desktop 运行需要KVM 支持的 VM 。

kvm如果主机有虚拟化支持,该模块应该自动加载。要手动加载模块,请运行:

$ modprobe kvm

根据主机的处理器,必须加载相应的模块:

$ modprobe kvm_intel  # Intel processors

$ modprobe kvm_amd    # AMD processors

如果上述命令失败,您可以通过运行以下命令查看诊断信息:

$ kvm-ok

要检查 KVM 模块是否已启用,请运行:

$ lsmod | grep kvm
kvm_amd               167936  0
ccp                   126976  1 kvm_amd
kvm                  1089536  1 kvm_amd
irqbypass              16384  1 kvm

设置KVM设备用户权限

要检查 的所有权/dev/kvm,请运行:

$ ls -al /dev/kvm

将您的用户添加到 kvm 组以访问 kvm 设备:

$ sudo usermod -aG kvm $USER

注销并重新登录,以便重新评估您的群组成员身份。

通用安装步骤

重要的

确保您满足前面概述的系统要求并遵循发行版特定的先决条件。

  1. 下载适合您的 Linux 发行版的正确软件包并使用相应的软件包管理器进行安装。

  2. 在 Gnome/KDE 桌面中打开应用程序菜单并搜索Docker Desktop

    应用程序中的 Docker 应用程序
  3. 选择Docker Desktop以启动 Docker。
    Docker 菜单 ( 鲸鱼菜单 ) 显示 Docker 订阅服务协议。

  4. 选择接受继续。 Docker Desktop 在您接受条款后启动。

    请注意,如果您不同意这些条款,Docker Desktop 将不会运行。您可以选择稍后打开 Docker Desktop 接受这些条款。

    更多信息请参见 Docker Desktop 订阅服务协议。我们建议您还阅读 常见问题解答

下一步go哪里