是的,Windows Server 2019 可以安装 Docker 和 Docker Compose,但有一些重要的前提和限制需要注意。
✅ 支持情况概述
| 组件 | 是否支持 | 说明 |
|---|---|---|
| Docker(Moby) | ✅ 是 | 官方支持 Windows Server 2019 的容器功能 |
| Docker Desktop | ❌ 不推荐 / 不支持 | Docker Desktop 主要面向 Windows 10/11 专业版或企业版,不支持 Windows Server |
| Docker Engine(通过 PowerShell 安装) | ✅ 推荐方式 | 使用 Microsoft 提供的模块或社区脚本安装 |
✅ 如何在 Windows Server 2019 上安装 Docker
步骤 1:启用容器功能
以管理员身份运行 PowerShell:
# 启用容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
步骤 2:安装 Docker Engine
方法一:使用 Microsoft 脚本(推荐)
# 下载并运行官方安装脚本
Invoke-WebRequest "https://github.com/microsoft/hcsshim/releases/latest/download/install.ps1" -OutFile "install.ps1"
.install.ps1 -InstallPath C:ProgramDataDocker -DownloadUrl https://download.docker.com/components/engine/windows-server/2019/docker-20.10.17.zip
⚠️ 注意:请确认 Docker 版本支持 Windows Server 2019。目前最新支持的稳定版本为
20.10.x系列。
或者手动下载并解压 Docker 引擎:
# 设置环境变量
$env:PATH += ";C:ProgramDataDocker"
# 注册 Docker 服务
dockerd --register-service
启动服务:
Start-Service docker
验证安装:
docker --version
docker run hello-world:nanoserver
💡 注意:你只能运行基于 Windows 容器的镜像(如
nanoserver,windowsservercore),不能运行 Linux 容器,除非启用了 Hyper-V 和 LCOW(Linux Container on Windows),但 LCOW 已被弃用。
步骤 3:安装 Docker Compose
Docker Compose v1(Python 版)已废弃,建议使用 Docker Compose V2(Go 编写,即 docker-compose CLI 插件)。
安装方式:
# 创建插件目录
mkdir "$env:ProgramDataDockercli-plugins"
# 下载 docker-compose 插件(替换最新版本)
Invoke-WebRequest `
-Uri "https://github.com/docker/compose/releases/latest/download/docker-compose-windows-x86_64.exe" `
-OutFile "$env:ProgramDataDockercli-pluginsdocker-compose.exe"
验证:
docker compose version
✅ 注意:命令是
docker compose(中间无短横线),这是新版本的调用方式。
🛑 不支持的功能
- ❌ Docker Desktop for Windows:不支持 Windows Server 系统。
- ❌ 原生 Linux 容器(LCOW):自 Docker 20.10 起已被弃用,不推荐使用。
- ❌ GUI 管理界面(需自行部署 Portainer 等工具)
✅ 建议场景
- 运行 Windows 应用容器(如 IIS、.NET Framework/.NET Core)
- 使用
Dockerfile构建 Windows 镜像 - 使用
docker-compose.yml编排多个 Windows 容器服务
🔧 示例:docker-compose.yml(Windows 容器)
version: '3.7'
services:
iis:
image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
ports:
- "80:80"
restart: unless-stopped
运行:
docker compose up -d
✅ 总结
| 项目 | 是否可行 | 备注 |
|---|---|---|
| 安装 Docker Engine | ✅ 是 | 使用 PowerShell + 官方脚本 |
| 安装 Docker Compose | ✅ 是 | 推荐使用 V2 插件形式 |
| 运行 Windows 容器 | ✅ 是 | 支持良好 |
| 运行 Linux 容器 | ⚠️ 不推荐 | LCOW 已废弃 |
| 使用 Docker Desktop | ❌ 否 | 不支持 Windows Server |
✅ 结论:可以安装并使用 Docker 和 Docker Compose,但必须使用命令行方式安装 Docker Engine 和 Compose 插件,不能使用 Docker Desktop。
如需更现代的替代方案,可考虑迁移到 Windows Server 2022 + Kubernetes + Containerd 或使用 Azure Container Instances / AKS 等云平台。
如有具体需求(如 .NET 应用容器化),欢迎继续提问!
CLOUD云计算