是的,Windows Server 上可以安装 Docker,但有一些前提条件和版本限制。
✅ 支持的 Windows Server 版本
Docker 支持以下 Windows Server 操作系统(通常需要 64 位、英文版或中文版均可):
- Windows Server 2019
- Windows Server 2022
- Windows Server, version 1809 / 2004 / 20H2(长期支持版本 LTS 更推荐)
注意:Windows Server Core 和 Desktop Experience 都支持,但建议使用 Desktop Experience 以方便管理。
🐳 Docker 在 Windows 上的两种形式
在 Windows 系统上,Docker 主要有两种运行方式:
1. Docker Desktop for Windows(适合开发/测试)
- 安装简单,图形界面。
- 可切换 Linux 容器 和 Windows 容器。
- 但 Docker Desktop 不免费用于企业/生产环境(需商业许可)。
⚠️ 对于 Windows Server 生产环境,通常不推荐使用 Docker Desktop。
2. 独立的 Docker Engine(Standalone Docker Engine)
- 开源免费,适用于生产环境。
- 通过 PowerShell 命令行安装。
- 只支持 Windows 容器(不能运行 Linux 容器,除非启用 Hyper-V 隔离 + LCOW 实验功能)。
✅ 如何在 Windows Server 上安装 Docker Engine(推荐方式)
以下是安装步骤(以 Windows Server 2019/2022 为例):
步骤 1:以管理员身份打开 PowerShell
# 安装 Microsoft 更新包(如果尚未安装)
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 安装 PowerShell 的 PackageManagement 模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
步骤 2:重启计算机
Restart-Computer -Force
步骤 3:验证安装
docker --version
docker run hello-world:nanoserver
注意:
hello-world:nanoserver是一个轻量级的 Windows 容器镜像。
🔧 后续配置建议
-
升级 Docker:
Update-Module DockerMsftProvider Install-Package -Name docker -ProviderName DockerMsftProvider -Update -Force -
设置 Docker 开机自启:
Set-Service Docker -StartupType Automatic Start-Service Docker
⚠️ 注意事项
- 仅支持 Windows 容器:默认情况下只能运行基于 Windows 的镜像(如
mcr.microsoft.com/windows/nanoserver)。 - Linux 容器支持有限:可通过 WSL2 或 LCOW(Linux Containers on Windows)实验性支持,但在 Server 上配置较复杂。
- 系统要求:
- 必须启用 Hyper-V 和 容器 功能。
- 推荐至少 4GB 内存,开启虚拟化支持(BIOS 中开启 VT-x/AMD-V)。
启用所需功能:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Containers -All
✅ 总结
| 项目 | 是否支持 |
|---|---|
| Windows Server 上安装 Docker | ✅ 支持 |
| 免费使用(生产环境) | ✅ 使用 Docker Engine(非 Docker Desktop) |
| 运行 Windows 容器 | ✅ 完全支持 |
| 运行 Linux 容器 | ⚠️ 实验性支持(需 WSL2/Hyper-V) |
如果你是在企业生产环境中部署,建议使用 Windows Server + Docker Engine 方式,并结合 Kubernetes(如 AKS-Engine 或 Rancher)进行编排管理。
如需具体版本兼容性表,可参考官方文档:
🔗 https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server
如有具体服务器版本,我可以提供更详细的安装命令。
ECLOUD博客