在 Windows Server 2019 上,可以安装以下版本的 Docker:
✅ 支持的 Docker 版本
Windows Server 2019 原生支持通过 Microsoft 官方渠道安装 Docker EE(Enterprise Edition) 或使用社区版(通过特定方式),但更推荐使用 Docker Engine – Enterprise 或 Microsoft 的容器功能 + 社区版 Moby/Docker。
具体来说,支持的方式和版本如下:
1. Docker EE for Windows Server(推荐官方方式)
- Docker EE(Enterprise Edition) 是微软与 Docker 合作为 Windows Server 提供的企业级支持版本。
- 支持的版本包括:
- Docker EE 18.09
- Docker EE 19.03(最终广泛支持的版本)
- ⚠️ 注意:自 2020 年起,Docker 已停止对 Windows 上 Docker EE 的独立发布。现在主要通过 Microsoft Container Platform 和 PowerShell 模块进行管理。
2. 使用 PowerShell 安装 Docker(推荐方法)
微软提供了一个 PowerShell 模块来安装和管理 Docker:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
# 安装 Docker-Microsoft PackageManagement Provider
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装最新稳定版 Docker Engine
Install-Package -Name docker -ProviderName DockerMsftProvider
# 启动 Docker 服务
Start-Service Docker
这个方法会自动安装一个经过微软测试和签名的 Docker 引擎版本,通常是基于 Moby 项目构建的稳定版本,例如:
- Docker 19.03.x(常见于 Windows Server 2019)
- 可能更新到 20.10.x(取决于更新源)
💡 这是官方推荐、最稳定的安装方式。
3. 是否支持 Docker Desktop?
❌ 不支持
Docker Desktop for Windows 主要面向 Windows 10 / Windows 11 / Windows Server 2022+(部分支持),不支持 Windows Server 2019 作为宿主运行 Docker Desktop。
4. 支持的镜像类型
在 Windows Server 2019 上运行 Docker 时,只能运行 Windows 容器,不支持 Linux 容器(除非启用 Hyper-V 隔离并配置 LCOW,但已废弃且不稳定)。
- 支持的容器类型:
windows
- 示例基础镜像:
mcr.microsoft.com/windows/servercore:ltsc2019
mcr.microsoft.com/windows/nanoserver:ltsc2019
✅ 总结:Windows Server 2019 能安装什么 Docker?
项目 | 支持情况 |
---|---|
Docker EE 18.09 / 19.03 | ✅ 支持(官方企业版) |
通过 PowerShell 安装 Docker | ✅ 推荐方式,通常为 19.03 或 20.10 |
Docker Desktop | ❌ 不支持 |
Linux 容器(LCOW) | ⚠️ 实验性,已废弃,不推荐 |
Windows 容器 | ✅ 完全支持 |
🔧 建议操作
# 1. 安装容器功能
Install-WindowsFeature Containers
# 2. 重启
Restart-Computer
# 3. 安装 Docker
Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force
# 4. 设置开机启动
Set-Service Docker -StartupType Automatic
# 5. 验证
docker --version
docker run hello-world:nanoserver-ltsc2019
如需长期维护建议升级至 Windows Server 2022,以获得更好的容器支持和更新的 Docker 版本。