在 Windows Server 2019 Datacenter 上安装 Docker 是可行的,但需要注意的是:Docker 在 Windows 上运行的方式与 Linux 不同。在 Windows 上,Docker 主要通过以下两种方式运行:
- Docker Desktop for Windows(适用于开发环境,不推荐用于服务器生产环境)
- Docker Engine – Enterprise / Moby + Containerd(原生 Windows 容器支持)
由于你使用的是 Windows Server 2019 Datacenter,建议使用 原生 Windows 容器(Native Windows Containers) 来部署 Docker 引擎。
✅ 推荐方案:在 Windows Server 2019 上安装原生 Docker 引擎(支持 Windows 容器)
步骤 1:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
安装完成后,重启服务器:
Restart-Computer -Force
步骤 2:安装 Microsoft 更新源和 OneGet 提供程序(可选,但推荐)
# 安装 NuGet 提供程序
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 注册 Microsoft 软件仓库(如果尚未注册)
Register-PSRepository -Name DockerPS -SourceLocation https://dockermsft.blob.core.windows.net/docker -InstallationPolicy Trusted
步骤 3:安装 Docker 引擎
# 安装 Docker
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
这会从微软官方镜像安装最新稳定版的 Docker 引擎。
安装完成后重启系统:
Restart-Computer -Force
步骤 4:验证安装
重启后,检查 Docker 是否正常运行:
# 查看 Docker 版本
docker --version
# 查看服务状态
Get-Service docker
# 启动 Docker 服务(如果未运行)
Start-Service docker
步骤 5:测试运行一个 Windows 容器
拉取并运行一个简单的 Windows 容器(例如 Nano Server):
docker run mcr.microsoft.com/windows/nanoserver:ltsc2019 echo "Hello from Windows Container!"
⚠️ 注意:
- 镜像版本必须与宿主机的 OS 版本兼容(如
ltsc2019对应 Windows Server 2019)。- 默认使用 Windows 容器,不能直接运行 Linux 容器,除非启用了 Hyper-V 和切换到 Linux 容器模式(仅限 Docker Desktop,不适用于 Server 原生引擎)。
❌ 不推荐:Docker Desktop on Windows Server
虽然技术上可以安装 Docker Desktop,但:
- Docker Desktop 不提供对 Windows Server 的正式支持
- 需要额外安装 WSL2 或 Hyper-V GUI 组件
- 更适合开发机而非生产服务器
🔧 可选:配置 Docker 启动参数(修改 daemon.json)
编辑或创建配置文件:
# 创建配置文件路径
if (!(Test-Path "$env:ProgramDataDockerconfig")) { New-Item -ItemType Directory -Path "$env:ProgramDataDockerconfig" }
# 设置 daemon.json(例如指定数据目录、日志等)
@{
"data-root" = "D:docker"
"exec-opts" = @("isolation=process")
} | ConvertTo-Json | Set-Content "$env:ProgramDataDockerconfigdaemon.json"
然后重启 Docker 服务:
Restart-Service docker
🛠 常见问题解决
| 问题 | 解决方法 |
|---|---|
Error: image operating system "windows" cannot be used on this platform |
确保你使用的是 Windows 容器,并且系统版本匹配(如 ltsc2019) |
The container operating system does not match the host operating system |
检查 Windows 版本是否一致(可用 systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 查看) |
| Docker 服务无法启动 | 检查事件查看器日志;确认已正确安装 Containers 功能 |
✅ 总结
| 项目 | 内容 |
|---|---|
| 操作系统 | Windows Server 2019 Datacenter |
| 支持容器类型 | Windows 容器(基于进程或 Hyper-V 隔离) |
| 安装方式 | PowerShell + DockerMsftProvider |
| 是否支持 Linux 容器 | ❌ 原生不支持(需 WSL2 + Docker Desktop,不适合服务器) |
| 生产推荐 | ✅ 原生 Docker 引擎 + Windows 容器 |
如果你希望运行 Linux 容器,建议改用 Windows Server with Desktop Experience + WSL2 + Docker Desktop,但这通常只用于测试/开发。
需要我提供自动化安装脚本或加入私有镜像仓库配置吗?欢迎继续提问!
秒懂云