在 Windows Server 上部署 Docker,目前官方推荐的方式是使用 Docker Desktop for Windows(适用于开发和测试环境),或通过 Microsoft 的容器功能 + Moby 项目(适用于生产环境)。但需要注意的是,自 2023 年起,Docker 官方对 Windows 上的原生支持策略有所调整。
以下是详细的部署建议和版本推荐:
✅ 推荐方案:Windows Server + 容器功能(生产环境)
📌 推荐操作系统版本:
- Windows Server 2022(长期支持版,推荐)
- Windows Server 2019(仍受支持,但建议升级)
注意:Windows Server 2016 和 2008 R2 已逐步淘汰,不推荐用于新部署。
✅ 推荐容器运行时方案
方案一:使用 Microsoft 官方容器支持(推荐用于生产)
微软与 Docker 合作,将容器技术集成到 Windows Server 中,使用 Moby + containerd 架构,而非传统的 Docker Engine。
部署方式:
-
启用容器功能:
Install-WindowsFeature -Name Containers -
安装 Microsoft 提供的容器运行时(如 Moby):
- 参考微软官方文档安装 Moby:
https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=windows-server
- 参考微软官方文档安装 Moby:
-
使用
containerd或dockerd作为运行时(可选) -
运行容器:
docker run hello-world:nanoserver
⚠️ 注意:从 2023 年开始,Docker 引擎不再由 Docker Inc. 官方为 Windows Server 提供直接安装包。生产环境应使用微软提供的容器工具链。
方案二:Docker Desktop for Windows(仅限开发/测试)
- 适用于:Windows 10 / Windows 11 / Windows Server(需启用 Hyper-V)
- 支持 WSL2 后端
- 包含 Kubernetes、GUI 管理等开发便利功能
限制:
- 不推荐用于生产环境
- 在 Windows Server 上运行需要额外授权和配置
- 性能开销较大(基于虚拟机)
✅ 推荐镜像类型
Windows 容器必须使用与宿主机兼容的镜像:
| 宿主机版本 | 支持的镜像基础镜像 |
|---|---|
| Windows Server 2022 | mcr.microsoft.com/windows/servercore:ltsc2022mcr.microsoft.com/windows/nanoserver:ltsc2022 |
| Windows Server 2019 | servercore:ltsc2019nanoserver:1809 |
❗ 版本必须匹配内核版本(如 build 号),否则无法运行。
✅ 第三方替代方案(推荐生产使用)
Rancher + Kubernetes(RKE2 / K3s on Windows)
- Rancher 支持在 Windows 节点上运行 Kubernetes 工作负载
- 使用 containerd 运行时
- 更适合混合 Linux/Windows 容器环境
Mirantis Container Runtime(原 Docker EE)
- Mirantis 接管了 Docker Enterprise
- 提供企业级 Windows 容器支持
- 兼容旧版 Docker API
- 适合需要传统 Docker 引擎的企业用户
官网:https://www.mirantis.com/software/mcr/
🔚 总结:推荐部署组合
| 场景 | 推荐方案 |
|---|---|
| 生产环境 | Windows Server 2022 + Containers 功能 + Mirantis Container Runtime 或 Moby + containerd |
| 开发/测试 | Windows 10/11 + Docker Desktop + WSL2 |
| 混合集群 | Kubernetes (Rancher/RKE2) + Windows worker 节点 |
🔗 参考文档
- 微软容器文档:
https://learn.microsoft.com/en-us/virtualization/windowscontainers/ - Mirantis Container Runtime for Windows:
https://docs.mirantis.com/ - Docker 官方关于 Windows 的说明:
https://docs.docker.com/desktop/windows/install/
如有具体用途(如 .NET 应用、IIS 托管、CI/CD 等),可进一步优化推荐方案。欢迎补充需求。
云计算