是的,Windows Server 2019 可以安装 Docker 和 Docker Compose,但有一些前提条件和限制需要注意。
✅ 支持情况概述
| 组件 | 是否支持 | 说明 |
|---|---|---|
| Docker Engine | ✅ 支持(通过容器功能) | 需启用 Windows 容器功能 |
| Docker Desktop | ❌ 不推荐 / 不支持 | Docker Desktop 主要面向 Windows 10/11 Pro 或 Enterprise 桌面版,不适用于 Windows Server 2019 |
| Docker CLI + Docker Engine(独立安装) | ✅ 支持 | 推荐使用 Microsoft 提供的脚本或手动安装 |
| Docker Compose | ✅ 支持 | 可通过 PowerShell 安装 |
✅ 安装步骤(推荐方式)
步骤 1:启用容器功能
以管理员身份运行 PowerShell:
# 启用容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
步骤 2:安装 Docker Engine
使用 Microsoft 提供的脚本安装:
# 安装并注册容器仓库模块
PowerShellGetInstall-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker Engine
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 重启系统
Restart-Computer -Force
安装完成后,Docker 服务会自动运行。
验证是否安装成功:
docker --version
docker run hello-world:nanoserver
⚠️ 注意:必须使用支持 Windows 容器的镜像(如
nanoserver、windowsservercore),不能运行 Linux 容器,除非配置了 Hyper-V 隔离和 LCOW(Linux Container on Windows,已弃用)。
步骤 3:安装 Docker Compose
从 GitHub 下载最新版本的 docker-compose.exe:
# 下载 Docker Compose(替换版本号为最新)
Invoke-WebRequest `
-Uri "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-windows-x86_64.exe" `
-OutFile "$env:ProgramFilesDockerdocker-compose.exe"
建议检查 Docker Compose Releases 获取最新版本。
验证安装:
docker-compose --version
🔧 注意事项
-
仅支持 Windows 容器
- 默认只支持基于 Windows 的镜像(如
mcr.microsoft.com/windows/servercore) - 不支持原生 Linux 容器(LCOW 在新版本中已被弃用)
- 默认只支持基于 Windows 的镜像(如
-
系统要求
- 必须是 Windows Server 2019 Datacenter 或 Standard 版本
- 启用 Hyper-V(某些高级功能需要)
- .NET Framework 4.7.2+ 和 PowerShell 5+
-
更新 Docker
Update-Package -Name docker -ProviderName DockerMsftProvider -
使用 Windows PowerShell 或 CMD
- 不建议使用旧版命令提示符运行复杂脚本
- 推荐使用 PowerShell 管理容器
🛠 示例:运行一个 IIS 容器
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis
然后访问服务器 IP 地址,应看到 IIS 欢迎页面。
✅ 总结
| 项目 | 是否可行 | 推荐做法 |
|---|---|---|
| 安装 Docker | ✅ | 使用 DockerMsftProvider 模块 |
| 安装 Docker Compose | ✅ | 手动下载 .exe 到 Docker 目录 |
| 运行 Linux 容器 | ❌(不推荐) | 已弃用 LCOW,性能差 |
| 生产环境使用 | ✅ | 适合运行 Windows 应用容器化部署 |
✅ 结论:可以安装并使用 Docker 和 Docker Compose,但仅限于 Windows 容器场景。
如果你有具体的应用场景(如部署 ASP.NET 应用),我也可以提供对应的 Dockerfile 和 docker-compose.yml 示例。
CLOUD技术博