Windows Server 2019 可以安装 Docker,但有一些限制和前提条件需要注意。很多人误以为“不能安装”,其实是由于配置不当或版本选择错误导致的。
以下是关键信息和正确安装方法:
✅ Windows Server 2019 支持 Docker 的条件
- 必须是 Windows Server 2019 Datacenter 或 Standard 版本
- 需要支持容器功能(Container feature)。
- 启用“容器”功能(Containers feature)
- 这是运行 Docker 所必需的 Windows 功能。
- 建议使用长期支持通道(LTSC)版本
- Windows Server 2019 是 LTSC 版本,适合运行容器。
- Docker 不再官方支持直接在 Windows 上安装 Docker Engine
- 自 Docker 19.03 起,Docker 官方不再提供独立的
.msi安装包用于 Windows Server。 - 推荐使用 Microsoft 提供的集成方式:通过 PowerShell 安装。
- 自 Docker 19.03 起,Docker 官方不再提供独立的
✅ 正确安装 Docker 的方法(推荐)
方法一:使用 Microsoft 的 Install-Module 命令安装 DockerMSFTProvider(推荐)
# 1. 安装 NuGet 提供程序(如果尚未安装)
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 2. 安装 Docker 的 PowerShell 模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 3. 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 4. 重启计算机(非常重要)
Restart-Computer -Force
⚠️ 注意:
DockerMsftProvider是微软维护的包,它会自动安装最新兼容版的 Docker Engine。
方法二:手动下载并安装(可选)
你也可以从以下地址手动下载 .zip 包:
🔗 https://download.docker.com/components/engine/windows-server/index.json
查找适用于 Windows Server 2019 的版本,例如:
# 下载并解压 Docker
Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/20.10.17/docker-20.10.17.zip" -OutFile "docker.zip"
Expand-Archive docker.zip -DestinationPath $Env:ProgramFiles
# 将 Docker 添加到系统路径
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + "$env:ProgramFilesdocker", [EnvironmentVariableTarget]::Machine)
# 注册 Docker 服务
$env:Path += ";$env:ProgramFilesdocker"
dockerd --register-service
# 启动 Docker 服务
Start-Service docker
✅ 验证安装是否成功
docker --version
docker run hello-world:nanoserver
注意:Windows 容器镜像必须与主机 OS 兼容(如使用 Nano Server 或 Server Core 镜像)。
❌ 常见误区和问题
| 问题 | 解决方案 |
|---|---|
| “无法安装 Docker Desktop” | Docker Desktop 不支持 Windows Server,只能用在 Windows 10/11 Pro/Enterprise。Server 上只能使用 Docker Engine CLI。 |
| 安装时报错“找不到包” | 确保网络正常,PowerShell 以管理员身份运行,且已安装 NuGet 和 TLS 1.2 支持。 |
| 容器无法运行 | 检查是否启用了 Containers 功能:Enable-WindowsOptionalFeature -Online -FeatureName containers -All |
🔧 启用容器功能(首次配置时需要)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Containers -All
重启后生效。
✅ 总结
| 项目 | 是否支持 |
|---|---|
| Windows Server 2019 安装 Docker Engine | ✅ 支持(通过 PowerShell 或手动) |
| Docker Desktop for Windows Server | ❌ 不支持 |
| 运行 Windows 容器(如 IIS、.NET 应用) | ✅ 支持 |
| 运行 Linux 容器 | ⚠️ 仅当启用 WSL2 或 Hyper-V + LCOW(实验性),一般不推荐 |
📚 参考文档
- Microsoft: Install Docker EE on Windows Server
- Docker: Windows Container Requirements
如果你遇到具体错误信息,欢迎贴出来,我可以帮你诊断。
云服务器