在 Linux 上安装 Docker Desktop
Docker Desktop 术语
Docker Desktop 在大型企业中的商业用途(超过 250 个 员工或超过 1000 万美元的年收入)需要支付 订阅。
本页包含有关一般系统要求、支持的平台的信息,以及有关如何安装适用于 Linux 的 Docker Desktop 的说明。
重要
Linux 上的 Docker Desktop 运行虚拟机 (VM),该虚拟机在启动时创建并使用自定义 Docker 上下文 。
desktop-linux
这意味着部署在 Linux Docker Engine 上的镜像和容器(安装前)在适用于 Linux 的 Docker Desktop 中不可用。
重要
要在大型企业(超过 250 名员工或年收入超过 1000 万美元)中通过 Docker Desktop 获得 Docker Engine 的商业用途,需要付费订阅。
Docker Desktop for Linux 提供用户友好的图形界面,可简化容器和服务的管理。它包括 Docker Engine,因为这是为 Docker 容器提供支持的核心技术。适用于 Linux 的 Docker Desktop 还附带了 Docker Scout 和 Docker Extensions 等附加功能。
安装 Docker Desktop 和 Docker Engine
适用于 Linux 的 Docker Desktop 和 Docker Engine 可以并排安装在 同一台机器。Docker Desktop for Linux 将容器和镜像存储在隔离的 VM 中的存储位置和产品/服务 控件来限制其资源。使用专用存储 位置可防止其干扰 Docker 引擎 安装在同一台计算机上。
虽然可以同时运行 Docker Desktop 和 Docker Engine, 在某些情况下,同时运行两者可能会导致问题。 例如,在为容器映射网络端口 ( / ) 时,两者 Docker Desktop 和 Docker Engine 可能会尝试在您的 machine,这可能会导致冲突(“port already in use”)。
-p
--publish
我们通常建议在使用 Docker Desktop 时停止 Docker Engine 防止 Docker Engine 消耗资源并防止冲突 如上所述。
使用以下命令停止 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 引擎并控制 在云中运行的远程 Docker Engine 实例。Docker 上下文允许您在 Docker 引擎实例之间切换。
安装 Docker Desktop 时,会创建一个专用的 “desktop-linux” 上下文,以 与 Docker Desktop 交互。启动时,Docker Desktop 会自动将其 own context () 作为当前上下文。这意味着后续的 Docker CLI 命令以 Docker Desktop 为目标。关闭时,Docker Desktop 会重置 将 current context 设置为 context。
desktop-linux
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 Desktop 之间切换 和 Docker Engine 上下文。例如,使用 “default” 上下文进行交互 使用 Docker 引擎:
docker context use
$ docker context use default default Current context is now "default"
并使用上下文与 Docker Desktop 交互:
desktop-linux
$ docker context use desktop-linux desktop-linux Current context is now "desktop-linux"
有关更多详细信息,请参阅 Docker Context 文档。
支持的平台
Docker 提供和软件包来自以下 Linux 发行版
和架构:.deb
.rpm
平台 | x86_64 / AMD64 |
---|---|
Ubuntu 浏览器 | ✅ |
Debian (英语) | ✅ |
Red Hat Enterprise Linux (RHEL) | ✅ |
软呢帽 | ✅ |
一个实验性软件包可用于基于 Arch 的发行版。Docker 尚未测试或验证安装。
Docker 在上述发行版的当前 LTS 版本和最新版本上支持 Docker Desktop。当新版本可用时,Docker 将停止支持最旧的版本,并支持最新版本。
一般系统要求
要成功安装 Docker Desktop,您的 Linux 主机必须满足以下一般要求:
- 64 位内核和 CPU 支持虚拟化。
- KVM 虚拟化支持。按照 KVM 虚拟化支持说明检查 KVM 内核模块是否已启用,以及如何提供对 KVM 设备的访问。
- QEMU 必须为 5.2 或更高版本。我们建议升级到最新版本。
- systemd init 系统。
- Gnome、KDE 或 MATE 桌面环境。
- 对于许多 Linux 发行版,Gnome 环境不支持托盘图标。要添加对托盘图标的支持,您需要安装 Gnome 扩展。例如,AppIndicator。
- 至少 4 GB 的 RAM。
- 允许在用户命名空间中配置 ID 映射,请参阅文件共享。请注意,对于 Docker Desktop 版本 4.35 及更高版本,不再需要这样做。
- 建议:初始化
凭据管理的通道
。
适用于 Linux 的 Docker Desktop 运行虚拟机 (VM)。有关原因的更多信息,请参阅适用于 Linux 的 Docker Desktop 为何运行 VM。
注意
Docker 不支持在嵌套虚拟化方案中运行适用于 Linux 的 Docker Desktop。我们建议您在支持的发行版上原生运行适用于 Linux 的 Docker Desktop。
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
注销并重新登录,以便重新评估您的群组成员资格。
下一步
- 为特定 Linux 发行版安装适用于 Linux 的 Docker Desktop: