在 Windows Server 2019 上安装 Docker Desktop 是 不被官方支持 的。Docker Desktop 仅支持以下操作系统:
- Windows 10 64-bit: Pro, Enterprise, or Education (Build 1909 or later)
- Windows 11 64-bit
- Windows 10/11 家庭版(需启用 WSL2)
⚠️ Docker Desktop 不支持 Windows Server 2019,即使系统满足硬件要求,也无法通过官方渠道安装。
✅ 正确替代方案:在 Windows Server 2019 上安装 Docker Engine(命令行版)
你可以在 Windows Server 2019 上安装 Docker Engine(也称为 Docker EE for Windows Server),这是专为服务器环境设计的原生容器运行时。
✅ 在 Windows Server 2019 上安装 Docker Engine 的步骤
1. 启用 PowerShell 并以管理员身份运行
2. 安装必要功能(容器支持)
Install-WindowsFeature -Name Containers
3. 重启服务器
Restart-Computer -Force
4. 安装 Microsoft 更新源(OneGet)
# 安装 PackageManagement PowerShell 模块
Install-Module -Name PowerShellGet -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name DockerMsftProvider -Force
5. 安装 Docker Engine
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
6. 再次重启服务器
Restart-Computer -Force
7. 验证安装
docker --version
docker run hello-world:nanoserver
注意:Windows 容器需要与主机版本兼容(如使用 Windows Server 2019 镜像)
✅ 可选:安装最新版 Docker CLI(非必须)
如果你希望使用更现代的 Docker CLI(如 docker compose 命令),可以手动下载:
# 下载 Docker CLI
Invoke-WebRequest "https://github.com/docker/cli/releases/download/v20.10.17/docker-20.10.17.zip" -OutFile "docker.zip"
Expand-Archive docker.zip -DestinationPath $env:ProgramFiles
$env:Path += ";$env:ProgramFilesdocker"
[Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::Machine)
然后将 docker 添加到系统路径。
❌ 为什么不能装 Docker Desktop?
- Docker Desktop 依赖 WSL2 和 Windows 10/11 特定组件
- Windows Server 2019 虽然支持容器,但缺少 WSL2 支持(直到 2022 年才在 Server 2022 中支持)
- Docker Desktop 的 GUI 和系统集成未针对服务器系统设计
✅ 推荐方案总结
| 目标 | 推荐方案 |
|---|---|
| 在 Windows Server 2019 上运行容器 | ✅ 安装 Docker Engine(通过 DockerMsftProvider) |
| 使用 Docker Compose | ✅ 使用 docker-compose-windows-x64.exe 或 PowerShell 模块 |
| 图形化管理 | ✅ 使用 Portainer(开源容器管理 UI) |
? 安装 Portainer(可选,用于图形化管理)
docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v portainer_data:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ee:latest
然后访问:http://<服务器IP>:9000
? 参考文档
- Docker 官方文档(Windows Server):
https://docs.docker.com/engine/install/windows/ - Microsoft 容器文档:
https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server
✅ 结论
❌ 不要尝试在 Windows Server 2019 上安装 Docker Desktop
✅ 应使用 Docker Engine + CLI + Portainer 的组合 来实现生产级容器管理。
如需进一步帮助(例如部署 ASP.NET 容器、SQL Server 容器等),欢迎继续提问!
CDNK博客