在 Windows Server 2022 Standard 上安装 Docker,必须使用 Docker Desktop for Windows(企业版)。
这是因为 Docker 的免费个人版(Docker Desktop)不支持服务器操作系统(Server Core 或 Full GUI),而 Windows Server 2022 属于服务器环境。微软与 Docker 合作推出了 Docker Desktop for Windows (Enterprise Edition),专门用于在 Windows Server 上运行容器。
以下是详细的操作步骤和注意事项:
⚠️ 重要前提检查
- 版本要求:
- 确保你的 Windows Server 2022 是 完整版(Full GUI) 还是 Server Core。
- 注意:Docker Desktop for Windows 目前主要支持带有图形界面(Desktop Experience)的版本。如果你使用的是纯命令行模式的 Server Core,通常无法直接安装 Docker Desktop,需要改用
dockerd原生守护进程(通过winget install mcr.microsoft.com/windows/servercontainers等脚本)或使用 WSL2 模式(如果已配置)。以下步骤假设你使用的是带桌面界面的标准版。
- 功能启用:
- 确保已启用 Hyper-V 功能。
- 确保已启用 Windows Subsystem for Linux (WSL 2)(推荐方式,性能更好)。
- 系统更新:
- 确保系统已更新至最新补丁,特别是内核更新。
方法一:使用官方安装包(推荐,适用于带桌面的 Server 2022)
这是最标准的安装方式,通过 Docker Desktop Enterprise 实现。
1. 下载 Docker Desktop
由于这是企业版软件,你需要拥有有效的许可证才能激活。
- 访问 Docker Hub 或 Docker 官网。
- 搜索并下载 Docker Desktop for Windows 的安装程序(
.msi文件)。- 注意:如果是为了生产环境测试,可能需要联系 Docker 销售获取试用许可或购买企业授权。
2. 启用必要的 Windows 功能
在安装前,建议手动开启相关组件(也可以让安装程序自动处理):
打开 PowerShell(管理员身份),运行以下命令:
# 启用 Hyper-V 和 WSL 2 后端
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -All
执行后需重启服务器。
3. 安装 Docker Desktop
- 双击下载的
.msi安装包。 - 按照向导点击 "Next"。
- 在安装选项页面,勾选 "Use WSL 2 instead of Hyper-V"(强烈建议选择 WSL 2,性能更优且资源占用更低)。
- 完成安装后,系统会提示重启。
4. 启动与验证
- 重启服务器后,从开始菜单启动 Docker Desktop。
- 首次启动时,它会初始化 WSL 2 后端,这可能需要几分钟。
- 等待托盘图标显示为绿色(表示正在运行)。
- 打开 PowerShell 或 CMD,输入以下命令验证安装:
docker --version
docker run hello-world
如果看到 "Hello from Docker!" 的输出,说明安装成功。
方法二:针对 Server Core(无图形界面)的特殊情况
如果你的 Windows Server 2022 是 Server Core 版本(没有桌面界面),Docker Desktop 无法安装。此时你需要使用原生的 Docker 引擎。
步骤简述:
- 启用容器功能:
Install-WindowsFeature -Name Containers -IncludeManagementTools - 重启服务器。
- 使用
Install-Docker.msi进行安装(需从 Docker 官网下载对应版本的 MSI,通常称为 "Docker Engine for Windows",而非 Desktop)。- 注意:Server Core 上的 Docker 体验不如 Desktop 完善,配置网络、存储卷等较为复杂,通常建议仅在无图形界面限制的场景下使用。
常见问题与排查
- 报错 "The system cannot find the file specified" 或启动失败:
- 通常是 WSL 2 未正确安装或内核版本过旧。请确保运行了
wsl --update并安装了最新的 WSL 内核包。 - 检查 BIOS 中是否开启了虚拟化技术(VT-x / AMD-V)。
- 通常是 WSL 2 未正确安装或内核版本过旧。请确保运行了
- 权限问题:
- 确保当前登录用户具有管理员权限。
- License 激活:
- 如果是企业环境,启动 Docker Desktop 后可能会弹出激活窗口。你需要输入公司购买的 License Key,或者在开发/测试环境中暂时使用评估模式。
总结
对于 Windows Server 2022 Standard:
- 如果是 带桌面的版本,请直接下载并安装 Docker Desktop for Windows (Enterprise Edition),并选择 WSL 2 后端。
- 如果是 Server Core 版本,则需安装原生的 Docker Engine,但这通常不如使用带桌面的版本方便。
如果你是在本地测试环境且不想购买企业授权,另一种常见的替代方案是:不要直接在 Server 2022 上装 Docker,而是将 Server 2022 作为虚拟机运行在宿主机上,然后在宿主机(如 Windows 10/11)上安装免费的 Docker Desktop,并将 Server 2022 挂载为远程节点(虽然这在某些场景下受限于网络策略)。
CLOUD技术博