在 Windows Server 2022 上安装 Docker,通常推荐使用 Docker Desktop for Windows(适合开发测试)或 Docker Engine(适合生产环境)。由于 Windows Server 2022 是服务器系统,Docker Engine (Windows Containers) 是更标准、更轻量且适合生产环境的方案。
以下是两种主要方案的详细步骤:
方案一:使用 Docker Engine(推荐用于生产/服务器环境)
这是最标准的安装方式,通过 PowerShell 脚本自动完成配置。它不依赖图形界面,资源占用更少。
1. 前置条件检查
确保你的服务器满足以下要求:
- 操作系统版本:Windows Server 2022 Standard/Datacenter。
- 功能开启:容器支持。
- 更新:建议先运行
Install-WindowsFeature -Name Hyper-V(如果尚未安装) 并重启。
2. 启用容器功能
以 管理员身份 打开 PowerShell,执行以下命令来启用容器功能:
# 启用容器功能
Install-WindowsFeature -Name Containers -IncludeManagementTools
# 重启服务器(必须执行,以便更改生效)
Restart-Computer
注意:如果提示需要重启,请在命令执行后手动重启服务器。
3. 安装 Docker Engine
重启完成后,再次以 管理员身份 打开 PowerShell,下载并运行官方安装脚本:
# 下载 Docker 安装脚本
Invoke-WebRequest -UseBasicParsing -Uri "https://aka.ms/WinGetMicrosoftDockerEngine" -OutFile "$env:TEMPdocker-install.ps1"
# 执行安装脚本
& $env:TEMPdocker-install.ps1
或者,如果你无法访问上述 URL,也可以直接使用 Scoop 包管理器(如果已安装):
scoop install docker-engine
4. 验证安装
安装完成后,打开新的 PowerShell 窗口,输入以下命令:
docker --version
docker run hello-world
如果看到 "Hello from Docker!" 字样,说明安装成功。此时默认使用的是 Windows 容器(基于 mcr.microsoft.com/windows/nanoserver 镜像)。
重要提示:如果你需要运行 Linux 容器,需要在服务器上安装 WSL2 或 Hyper-V 的 Linux 内核支持,但通常在纯 Windows Server 环境下,我们优先使用 Windows 容器。
方案二:使用 Docker Desktop for Windows(适合开发/测试)
如果你习惯使用图形界面,或者需要同时运行 Linux 和 Windows 容器,可以使用 Docker Desktop。
1. 下载安装包
访问 Docker 官网下载页面,选择 Windows Server 2022 版本的安装包(通常是 .msi 文件):
- 地址:https://www.docker.com/products/docker-desktop/
- 注意:Docker Desktop 对 Windows Server 的支持有时不如客户端版本完善,请确认当前版本明确支持 Server 2022。
2. 安装过程
- 双击
.msi文件开始安装。 - 在安装向导中,勾选 "Use the new virtualization platform" (使用新的虚拟化平台)。
- 点击 Install,等待安装完成。
3. 启动与配置
- 启动 Docker Desktop。
- 首次启动时,它会自动配置 WSL2 后端。
- 进入设置 (Settings),在 General 选项卡中,你可以切换 Linux containers 或 Windows containers 模式。
常见问题与注意事项
-
容器类型选择:
- Windows 容器:默认安装。适用于运行 .NET Framework, IIS, SQL Server 等 Windows 应用。镜像前缀通常为
mcr.microsoft.com/windows/...。 - Linux 容器:需要额外的 WSL2 配置。适用于运行 Node.js, Python, Go 等跨平台应用。
- Windows 容器:默认安装。适用于运行 .NET Framework, IIS, SQL Server 等 Windows 应用。镜像前缀通常为
-
网络问题:
如果在拉取镜像时失败(如pull access denied),可能是国内网络限制。建议在 Docker Desktop 设置中配置X_X,或者修改daemon.json添加国内镜像提速器地址(如阿里云、腾讯云提速器)。 -
权限问题:
所有 Docker 操作建议始终使用 管理员身份 运行的 PowerShell 终端。 -
版本兼容性:
Windows Server 2022 默认支持较新的 Nano Server 和 Server Core 镜像。请确保你的 Docker 引擎版本与宿主机的累积更新版本相匹配。
总结
对于 Windows Server 2022 的生产环境部署,方案一(Docker Engine) 是最佳选择,因为它轻量、无 GUI 干扰且易于自动化管理。只有在需要复杂的混合容器环境(Linux + Windows)或本地开发调试时,才考虑安装 Docker Desktop。
轻量云Cloud