在 Windows Server 2022 上安装 Docker,最推荐的方式是使用 Docker Desktop for Windows(基于 Hyper-V 或 WSL 2 后端)。不过,由于 Windows Server 缺少图形界面(GUI)的默认支持以及部分依赖项,通常更稳定且适合生产环境的方案是安装 Docker Engine for Windows(命令行版本),或者使用 WSL 2 配合 Docker Desktop。
以下是两种主流方案的详细步骤:
方案一:使用 WSL 2 + Docker Desktop(推荐用于开发/测试)
这是目前最简单、体验最好的方式,但需要服务器开启虚拟化功能并安装 WSL 2。
1. 前置准备
确保你的云服务器已开启 Hyper-V 和 虚拟机平台 功能。以管理员身份运行 PowerShell,执行以下命令:
# 启用必要的功能
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 重启服务器(必须)
Restart-Computer
2. 安装 WSL 2 内核
重启后,再次打开 PowerShell(管理员),下载并安装 WSL 2 内核更新:
wsl --install -d Ubuntu
# 如果提示需要重启,请再次重启服务器
注:安装过程中会提示设置用户名和密码,请牢记。
3. 安装 Docker Desktop
- 访问 Docker Hub 或微软官方文档下载 Docker Desktop for Windows。
- 注意:Windows Server 版本可能需要下载特定的企业版或检查兼容性,通常标准版即可。
- 运行安装包,按照向导安装。
- 在安装选项中,确保勾选 "Use the WSL 2 based engine"。
- 安装完成后启动 Docker Desktop。首次启动会自动配置 WSL 2 后端。
- 验证安装:
docker --version docker run hello-world
方案二:纯命令行安装 Docker Engine(推荐用于生产环境)
如果你不需要图形界面,或者希望更轻量、更稳定的服务化部署,可以直接安装 Docker Engine。此方法不依赖 WSL 2,直接利用 Windows 原生容器技术。
1. 启用容器功能
以管理员身份运行 PowerShell,启用 Containers 功能:
Install-WindowsFeature -Name Containers -IncludeManagementTools
2. 下载并安装 Docker MSI
前往 Docker 官方发布页(GitHub Releases)下载适用于 Windows Server 2022 的 .msi 安装包。
- 文件名通常类似:
docker-24.x.x-x86_64.msi(版本号可能不同)。 - 下载链接示例:Docker CE Stable Release
3. 静默安装
下载完成后,在 PowerShell 中执行以下命令进行静默安装(路径需根据实际下载位置调整):
# 替换为实际的 msi 文件路径
msiexec /i "C:Downloadsdocker-24.x.x-x86_64.msi" /qn
4. 验证安装
安装完成后,打开新的 PowerShell 窗口验证:
docker --version
docker run hello-world
如果 hello-world 运行成功,说明安装无误。
⚠️ 重要注意事项
-
网络与防火墙:
云服务器通常有安全组规则。如果拉取镜像失败,请检查云厂商的安全组是否放行了出站流量(特别是 443 端口),以及是否配置了国内镜像提速器(如阿里云、腾讯云提速器),否则拉取速度极慢。 -
内存要求:
Docker 容器对内存有一定消耗。请确保你的云服务器至少有 2GB – 4GB 的可用内存,否则运行多个容器时可能会 OOM(内存溢出)。 -
系统版本差异:
Windows Server 2022 支持 LTSC 版本,建议确认你安装的 Docker 版本完全兼容 Server 2022。较旧的 Docker 版本可能不支持最新的内核特性。 -
持久化存储:
在云服务器上使用 Docker 时,建议将数据卷挂载到云盘的特定目录(如/data/docker-data),防止因磁盘清理或实例重置导致数据丢失。
总结
- 如果是个人开发、学习或临时测试,请使用 方案一 (WSL 2 + Docker Desktop),配置简单,生态完善。
- 如果是生产环境、无 GUI 服务器,请使用 方案二 (Docker Engine),资源占用更低,稳定性更高。
CDNK博客