在 Windows Server 2022 上使用 Docker,推荐使用 Docker Desktop for Windows 或更准确地说,使用 Docker Engine 以 Windows 容器模式运行。但需要注意的是,Docker 在 Windows 上的部署方式与 Linux 不同,具体选择取决于你的使用场景。
以下是详细说明:
✅ 推荐方案:使用 Microsoft 提供的容器支持 + Docker Engine(或 Moby)
从 Windows Server 2016 开始,微软与 Docker 合作,在 Windows 上支持 Windows 容器。Windows Server 2022 原生支持容器功能,但 Docker Desktop 不支持 Windows Server(仅支持 Windows 10/11 Pro/Enterprise)。
因此,在 Windows Server 2022 上,你应该使用:
Docker Engine for Windows Server(也称为 "Docker EE" 或基于 Moby 的引擎)
🔧 安装方式(推荐):
使用 PowerShell 安装 Docker:
# 1. 安装容器功能
Install-WindowsFeature Containers
# 2. 重启服务器
Restart-Computer -Force
# 3. 使用 PowerShell 安装 Docker(Microsoft 提供的版本)
# 以管理员身份运行 PowerShell
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 4. 启动 Docker 服务
Start-Service docker
# 5. (可选)设置开机自启
Set-Service docker -StartupType Automatic
这会安装由 Microsoft 维护的稳定版 Docker Engine,适用于生产环境。
🐳 版本说明:
- 安装的 Docker Engine 版本会根据
DockerMsftProvider提供的最新稳定版本自动选择。 - 通常会是 Docker 20.10.x 系列(这是最后一个原生支持 Windows 的 Docker 引擎版本)。
- 示例版本:
Docker 20.10.17或20.10.23(具体取决于更新时间)。
⚠️ 注意:自 Docker 23+ 起,Docker Desktop 成为主流,但 不支持 Windows Server。而原生 Docker Engine 的更新已由 Mirantis 接管,Windows 版本更新较慢。
✅ 替代方案(现代推荐):使用 containerd + Kubernetes(如 AKS-Engine 或 Rancher)
对于生产环境,好多企业转向使用:
- containerd 作为容器运行时
- 配合 Kubernetes(如 AKS-HCI、Rancher、OpenShift)
- 或使用 Podman for Windows(实验性)
微软也在推动使用 containerd 而非 Docker Engine,特别是在 AKS HCI 和 Windows 容器场景中。
🔍 验证安装:
docker --version
docker run hello-world:nanoserver
注意:你需要拉取 Windows 容器镜像,例如基于
nanoserver或windowsservercore的镜像,不能运行 Linux 容器(除非启用 WSL2,但 WSL2 不支持 Windows Server)。
总结:Windows Server 2022 上的 Docker 推荐配置
| 项目 | 推荐选择 |
|---|---|
| 是否支持 Docker Desktop? | ❌ 不支持 |
| 推荐安装方式 | Install-Package -Name docker -ProviderName DockerMsftProvider |
| 支持的 Docker 版本 | Docker Engine 20.10.x(Windows 版) |
| 容器类型 | Windows 容器(如 nanoserver, servercore) |
| 生产环境建议 | 考虑使用 containerd + Kubernetes |
参考文档:
- Microsoft 官方文档:Install Docker EE on Windows Server
- Docker 官方文档:Windows 容器
- Mirantis Docker Engine for Windows
如你有特定需求(如 CI/CD、K8s 集成、GUI 管理等),可以进一步选择 Rancher、Portainer 等工具来管理容器。
需要我帮你写一个自动安装脚本吗?
云服务器