Docker以其轻量级、可移植和易于部署的特性,成为了软件开发和运维领域的重要工具。对于Windows用户而言,安装和部署Docker Desktop是实现容器化应用的关键一步。本文将详细介绍如何在Windows系统上安装和配置Docker Desktop。
一、系统要求
1、WSL 2 后端
(1)WSL 版本 1.1.3.0 或更高版本。
(2)Windows 11 64 位:家庭版或专业版 21H2 或更高版本,或者企业版或教育版 21H2 或更高版本。
(3)Windows 10 64 位:
- 建议使用家庭版或专业版 22H2(内部版本 19045)或更高版本,或者企业版或教育版 22H2(内部版本 19045)或更高版本;
- 最低要求是家庭版或专业版 21H2(内部版本 19044)或更高版本,或者企业版或教育版 21H2(内部版本 19044)或更高版本;
(4)在 Windows 上打开 WSL 2 功能。
(5)成功运行需要满足以下硬件先决条件 Windows 10 或 Windows 11 上的 WSL 2:WSL 2 on Windows 10 or Windows 11:
- 64 位处理器,具有二级地址转换 (SLAT);
- 4GB 系统内存;
- 在 BIOS 中启用硬件虚拟化。
2、Hyper-V 后端和 Windows 容器
(1)Windows 11 64 位:专业版 21H2 或更高版本,或企业版或教育版 21H2 或更高版本。
(2)Windows 10 64 位:
- 建议使用家庭版或专业版 22H2(内部版本 19045)或更高版本,或者企业版或教育版 22H2(内部版本 19045)或更高版本;
- 最低要求是家庭版或专业版 21H2(内部版本 19044)或更高版本,或者企业版或教育版 21H2(内部版本 19044)或更高版本。
(3)打开 Hyper-V 和容器 Windows 功能。
(4)成功运行客户端需要满足以下硬件先决条件 Windows 10 上的 Hyper-V:
- 64 位处理器,具有二级地址转换 (SLAT);
- 4GB 系统内存。
二、权限要求
在Windows操作系统上,Docker Desktop 的使用确实涉及到权限问题,但这并不意味着每次使用 Docker Desktop 时都需要管理员权限。实际上,Docker Desktop 的设计考虑了权限的最小化原则,即在保证功能正常运行的前提下,尽量减少所需的权限级别。
在安装 Docker Desktop 的过程中,系统会弹出一个UAC(用户帐户控制)提示框,要求用户确认安装特权帮助程序服务。这一步是为了确保安装过程能够顺利进行,并且帮助程序服务能够拥有执行必要操作的权限。
一旦安装完成,只要用户是“docker-users”组的成员,就可以在不需要管理员权限的情况下运行 Docker Desktop。这意味着,一旦用户完成了安装过程,他们就可以像普通用户一样使用 Docker Desktop,而无需每次都以管理员身份运行。
对于其他需要访问 Docker Desktop 的用户,管理员需要手动将他们添加到“docker-users”组中。这种设计方式允许管理员对访问权限进行精细控制,确保只有经过授权的用户才能使用 Docker Desktop。
这种权限控制的设计是基于安全考虑的。Docker Desktop 需要执行一些需要特权的操作,这些操作由特权帮助程序进程来执行。通过将特权操作集中在一个单独的服务中,并限制该服务的访问权限,Docker Desktop 能够在满足功能需求的同时,最大限度地减少潜在的安全风险。
三、安装部署
1、以交互方式安装
- 使用页面顶部的下载按钮或从发行说明下载安装程序;
- 双击以运行安装程序Docker Desktop Installer.exe,默认情况下,Docker Desktop 安装在C:\Program Files\Docker\Docker;
- 出现提示时,请确保是否选中“配置”页上的“使用 WSL 2 而不是 Hyper-V”选项,具体取决于你选择的后端;
- 如果系统仅支持这两个选项之一,将无法选择要使用的后端;
- 按照安装向导上的说明授权安装程序并继续安装;
- 安装成功后,选择“关闭”以完成安装过程。
如果管理员帐户与用户帐户不同,则必须将用户添加到 docker-users 组:
- 以管理员身份运行计算机管理;
- 导航到“本地用户和组”>“组”> docker-users;
- 右键单击以将用户添加到组中;
- 注销并重新登录以使更改生效。
2、以命令行安装
下载完成后,在终端执行以下命令,安装Docker Desktop:
"Docker Desktop Installer.exe" install
如果使用 PowerShell,则应将其运行为:
Start-Process 'Docker Desktop Installer.exe' -Wait install
如果使用 Windows 命令提示符:
start /w "" "Docker Desktop Installer.exe" install
默认情况下,Docker Desktop 安装在 C:\Program Files\Docker\Docker;
install命令接受以下标志:
- –quiet:禁止在运行安装程序时输出信息;
- –accept-license:接受Docker 订阅服务协议现在,而不是要求在首次运行应用程序时接受它;
- –no-windows-containers:禁用 Windows 容器集成;
- –allowed-org=<org name>:要求用户在运行应用程序时登录并成为指定 Docker Hub 组织的一部分;
- –backend=<backend name>:选择要用于 Docker Desktop 的默认后端,或(默认)hyper-vwindowswsl-2;
- –installation-dir=<path>:更改默认安装位置 (C:\Program Files\Docker\Docker);
- –admin-settings:自动创建一个文件,管理员使用该文件来控制其组织内客户端计算机上的某些 Docker 桌面设置;它必须与旗帜一起使用;
例如:
--allowed-org=<org name> --admin-settings='{"configurationFileVersion": 2, "enhancedContainerIsolation": {"value": true, "locked": false}}'
- –proxy-http-mode=<mode>:设置 HTTP 代理模式(默认)或systemmanual;
- –override-proxy-http=<URL>:设置必须用于传出 HTTP 请求的 HTTP 代理的 URL,要求为–proxy-http-modemanual;
- –override-proxy-https=<URL>:设置必须用于传出 HTTPS 请求的 HTTP 代理的 URL,需要–proxy-http-modemanual;
- –override-proxy-exclude=<hosts/domains>:绕过主机和域的代理设置,使用逗号分隔的列表;
- –hyper-v-default-data-root=<path>:指定 Hyper-V VM 磁盘的默认位置;
- –windows-containers-default-data-root=<path>:指定 Windows 容器的默认位置;
- –wsl-default-data-root=<path>:指定 WSL 分发磁盘的默认位置;
- –always-run-service:允许用户切换到 Windows 容器,而无需管理员权限。
注意:如果使用的是 PowerShell,则需要在任何标志之前使用该参数, 例如ArgumentList。
Start-Process 'Docker Desktop Installer.exe' -Wait -ArgumentList 'install', '--accept-license'
如果管理员帐户与用户帐户不同,则必须将用户添加到 docker-users 组:
net localgroup docker-users <user> /add
四、启动Docker Desktop
Docker Desktop 在安装后不会自动启动。要启动 Docker Desktop,请执行以下操作:
1、搜索 Docker,然后在搜索结果中选择 Docker Desktop:
2、Docker 菜单 ( 鲸鱼菜单 ) 显示 Docker 订阅服务协议。
以下是要点的摘要:
- Docker Desktop 对小型企业(员工少于 250 人,年收入低于 1000 万美元)、个人使用、教育和非商业开源项目免费;
- 否则,它需要付费订阅才能用于专业用途;
- 政府实体也需要付费订阅;
- Docker Pro、Team 和 Business 订阅包括 Docker Desktop 的商业用途。
3、选择“接受”继续。Docker Desktop 在接受条款后启动。如果不同意这些条款,Docker Desktop 将无法运行。可以选择在以后通过打开 Docker Desktop 来接受这些条款。