在 Windows Server 2019 Datacenter 上安装 Docker 是完全支持的,但需要注意的是:Docker 在 Windows 上运行依赖于容器功能(Windows Containers),而不是像 Linux 那样使用原生的 Docker Engine。通常我们通过 Docker Desktop 或 独立的 Docker Engine for Windows 来实现。
不过,在服务器环境中,推荐使用 Microsoft 的容器支持 + Docker EE(企业版)或社区版(Docker CE via PowerShell),因为 Docker Desktop 主要用于开发环境,不推荐在生产服务器上使用。
以下是 在 Windows Server 2019 Datacenter 上安装 Docker(使用 PowerShell 安装 Docker Engine) 的详细步骤:
✅ 步骤 1:启用容器功能
以管理员身份打开 PowerShell,运行以下命令:
# 安装容器功能
Install-WindowsFeature -Name Containers
安装完成后,重启服务器:
Restart-Computer -Force
✅ 步骤 2:安装 Microsoft 更新服务(可选但推荐)
确保系统更新到最新补丁,某些容器功能需要最新的累积更新。
✅ 步骤 3:安装 Docker Provider(通过 PowerShellGet)
# 安装 NuGet 提供程序
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 注册 PowerShell Gallery 为受信任仓库
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
# 安装 DockerMsftProvider(用于安装 Docker)
Install-Module -Name DockerMsftProvider -Force
✅ 步骤 4:安装 Docker Engine
# 使用 DockerMsftProvider 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
这个命令会从微软维护的镜像下载并安装 Docker。
⚠️ 注意:如果提示 TLS 错误,请先设置:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
✅ 步骤 5:重启服务器(建议)
Restart-Computer -Force
✅ 步骤 6:验证安装
重启后,运行:
# 检查 Docker 版本
docker --version
# 查看 Docker 服务状态
Get-Service docker
# 启动 Docker 服务(如未自动启动)
Start-Service docker
✅ 步骤 7:测试运行一个 Windows 容器
# 拉取一个 Nano Server 镜像(示例)
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2019
# 运行容器
docker run mcr.microsoft.com/windows/nanoserver:ltsc2019 echo "Hello from Windows Container!"
✅ 可选:设置 Docker 开机自启
Set-Service docker -StartupType Automatic
🔔 注意事项
- 仅支持 Windows 容器:不能直接运行 Linux 容器,除非启用 Hyper-V 并配置 LCOW(Linux Containers on Windows),但支持有限且性能较差。
- 镜像兼容性:确保拉取的镜像是与你系统的 Windows 版本兼容(如
ltsc2019
对应 Win Server 2019)。 - 存储驱动:默认使用
windowsfilter
,适用于大多数场景。 - 防火墙/安全策略:确保没有阻止容器网络通信。
❌ 不推荐使用 Docker Desktop
Docker Desktop 主要面向 Windows 10/11 桌面用户,不支持 Windows Server 2019 的标准安装,即使能运行也不推荐用于生产环境。
✅ 替代方案(推荐用于生产)
考虑使用 Microsoft Container Orchestrator,例如:
- Kubernetes (AKS or AKS-HCI)
- Windows Admin Center + Containers 扩展
或者使用 Moby + containerd(微软 Azure Stack HCI 等场景中使用的方式)。
📚 参考文档
- Microsoft Docs: Install Docker EE on Windows Server
- Docker 官方文档 – Windows 容器
如果你有特定需求(比如想跑 Linux 容器、使用 Kubernetes、或部署微服务),可以进一步说明,我可以提供更详细的架构建议。