在 Windows Server 2022 Standard 上安装 Docker,最推荐且稳定的方式是使用 Docker Desktop for Windows(基于 WSL 2 后端)或 Docker Engine(传统模式)。
由于你是服务器环境(Standard 版),通常建议根据具体需求选择:
- 开发/测试场景:推荐使用 Docker Desktop,因为它自带图形界面和容器管理工具,配置简单。
- 生产/无头(Headless)场景:推荐使用 Docker Engine (CLI),资源占用更低,无需 GUI。
以下是两种主流方案的详细步骤:
方案一:安装 Docker Desktop(推荐用于开发与测试)
这是最简单的方法,会自动处理依赖项并启用 WSL 2 后端。
1. 前置条件检查
确保你的服务器满足以下要求:
- 操作系统:Windows Server 2022 Standard (需包含桌面体验或至少支持 PowerShell)。
- 虚拟化:BIOS 中必须开启 Intel VT-x / AMD-V 虚拟化技术。
- 功能启用:确保已安装 "Containers" 功能。
# 以管理员身份运行 PowerShell Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All Enable-WindowsOptionalFeature -Online -FeatureName Containers Restart-Computer - WSL 2 支持:虽然 Docker Desktop 可以自动安装,但建议手动确认 WSL 2 内核已更新。
2. 下载与安装
- 访问 Docker Hub 或 GitHub 发布页下载 Docker Desktop for Windows。
- 注意:如果是纯服务器版(Server Core),无法安装带有 GUI 的 Docker Desktop,请直接跳转至【方案二】。
- 运行安装程序 (
DockerDesktop.exe)。 - 在安装向导中,确保勾选 "Use WSL 2 instead of Hyper-V"(使用 WSL 2 而不是 Hyper-V),这能提供更好的性能。
- 完成安装后重启计算机。
3. 验证安装
打开 PowerShell,输入:
docker --version
docker run hello-world
如果看到欢迎信息,说明安装成功。
方案二:安装 Docker Engine(推荐用于生产环境/Server Core)
如果你使用的是 Windows Server 2022 Standard without Desktop Experience(无桌面体验版),或者希望更轻量级的部署,请采用此方案。
1. 启用必要功能
以管理员身份运行 PowerShell,执行以下命令启用容器支持并重启:
# 启用容器功能
Install-WindowsFeature -Name Containers -IncludeManagementTools
# 重启服务器(可选,部分情况下不需要立即重启,但建议重启以确保服务加载)
Restart-Computer
2. 获取 Docker 安装包
由于官方不再提供直接下载的 .msi 文件链接(需要脚本自动获取),我们可以使用 PowerShell 脚本来下载最新版本的 MSI 安装包。
创建一个名为 install-docker.ps1 的文件,内容如下:
# 设置变量
$os = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Version
$architecture = (Get-CimInstance Win32_Processor).Architecture[0] # 64-bit = 9
if ($architecture -ne 9) {
Write-Error "Only x64 architecture is supported."
exit 1
}
# 构建下载 URL (这里以稳定版为例,实际使用时建议去官网查最新 URL)
# 注意:微软官方提供了专门的脚本仓库
$scriptUrl = "https://raw.githubusercontent.com/microsoft/Docker-for-Windows/main/scripts/install-docker-engine.ps1"
# 执行安装脚本
Invoke-WebRequest -Uri $scriptUrl -OutFile install-docker-engine.ps1
.install-docker-engine.ps1
更稳妥的方式是直接使用微软提供的官方 PowerShell 脚本进行自动化安装(无需手动找 MSI):
直接运行以下命令(一键安装最新版 Docker Engine):
# 1. 下载并执行微软官方安装脚本
$url = "https://aka.ms/docker-windows-server-install"
Invoke-WebRequest -Uri $url -OutFile docker-install.ps1
.docker-install.ps1
(注:如果上述短链接失效,请访问 Docker 官方文档获取最新的 docker-install.ps1 脚本)
3. 验证安装
docker --version
docker run hello-world
常见问题与注意事项
-
WSL 2 与 Hyper-V 的选择:
- 在 Windows Server 2022 上,WSL 2 是目前 Docker 推荐的运行时,性能更好且兼容 Linux 容器特性更完整。
- 如果你必须使用 Hyper-V 隔离(例如某些旧版安全策略),可以在 Docker 配置文件中指定,但通常不建议。
-
网络问题:
- 安装后如果拉取镜像失败(如
pulling from docker.io),通常需要配置国内镜像提速器。 - 编辑
C:ProgramDatadockerconfigdaemon.json(路径可能因版本略有不同),添加以下内容:{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] } - 修改后重启 Docker 服务:
Restart-Service docker。
- 安装后如果拉取镜像失败(如
-
权限问题:
- 默认情况下,只有 Administrators 组的用户才能运行 Docker 命令。如果需要普通用户运行,可以将该用户加入
docker-users组(如果存在)或使用New-DockerGroup创建。
- 默认情况下,只有 Administrators 组的用户才能运行 Docker 命令。如果需要普通用户运行,可以将该用户加入
-
License 许可:
- Windows Server 2022 本身对容器数量没有限制,但如果你使用 Docker Desktop,请注意其个人免费和商业使用的条款限制。对于企业生产环境,建议使用 Docker Engine 并通过订阅获得官方技术支持。
总结
- 有桌面环境 + 开发调试 -> 选 Docker Desktop。
- 无桌面环境 (Server Core) + 生产部署 -> 选 Docker Engine (Script Install)。
如果在执行过程中遇到具体的报错信息,请提供错误日志,我可以进一步协助排查。
CLOUD云枢