在 Windows Server 上安装 Docker 和 Docker Compose,目前有几种方式,但最推荐的方式是使用 Docker Desktop for Windows(适用于支持的版本)或通过 Microsoft 的容器功能 + Docker Engine via Moby(传统方式)。不过请注意:
⚠️ 重要提示:
- Docker Desktop 在 Windows Server 2022 上受支持。
- 对于旧版本如 Windows Server 2016/2019,建议使用基于 Microsoft 容器平台的原生 Docker 引擎(通过 PowerShell 安装)。
- Docker Compose v2 是 Docker Desktop 的一部分;独立的
docker-compose(v1)已弃用。
✅ 推荐方案:在 Windows Server 2022 上安装 Docker 和 Docker Compose(使用 Docker Desktop)
步骤 1:系统要求
- Windows Server 2022 Standard 或 Datacenter(64位)
- 已启用 Hyper-V 和 容器 功能
- 至少 4GB 内存
- 管理员权限
步骤 2:启用所需功能
以管理员身份运行 PowerShell:
# 启用 Hyper-V(如果未启用)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
# 启用容器功能
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
💡 重启服务器后生效。
步骤 3:下载并安装 Docker Desktop
-
访问官方下载地址:
🔗 https://www.docker.com/products/docker-desktop/ -
下载 Docker Desktop Stable 版本(支持 Windows Server 2022)
-
安装:
# 运行安装程序(例如) DockerDesktopInstaller.exe install -
安装完成后,登录并启动 Docker Desktop。
注意:需要以管理员身份运行,并配置为使用 Windows 容器或 Linux 容器(可切换)。
步骤 4:验证安装
打开 PowerShell:
docker --version
# 输出示例:Docker version 24.0.7, build ...
docker-compose --version
# 输出示例:Docker Compose version v2.20.2
✅ 此时
docker-compose是 Docker v2 插件,无需单独安装。
❌ 不推荐但可用:旧版方式(适用于 Server 2016/2019)
如果你不能使用 Docker Desktop(比如 Server 2019),可以手动安装 Docker Engine。
方法:使用 PowerShell 安装 Microsoft 提供的 Docker 包
1. 安装容器功能
Install-WindowsFeature -Name Containers
2. 重启服务器
Restart-Computer -Force
3. 安装 Docker Engine
# 安装 PowerShell 模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 更新(可选)
Update-Package -Name docker -ProviderName DockerMsftProvider
4. 重启
Restart-Computer -Force
5. 验证
docker --version
docker run hello-world:nanoserver
⚠️ 此方法仅支持 Windows 容器,且不包含
docker-compose。
手动安装 Docker Compose(v2)
即使没有 Docker Desktop,也可以手动安装 docker-compose 插件。
下载 Docker Compose v2(推荐)
# 创建插件目录
$pluginDir = "$env:ProgramDataDockercli-plugins"
if (!(Test-Path $pluginDir)) { New-Item -ItemType Directory -Path $pluginDir }
# 下载 docker-compose 插件(替换最新版本号)
Invoke-WebRequest `
-Uri "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" `
-OutFile "$pluginDirdocker-compose.exe"
验证
docker compose version
# 注意:命令是 `docker compose`(无短横线),v2 新语法
✅ 推荐使用新语法:
docker compose up而不是docker-compose up
🛠 常见问题解决
| 问题 | 解决方法 |
|---|---|
Error during hcsshim::CreateComputeSystem |
检查是否启用了 Hyper-V 和嵌套虚拟化(云环境需开启) |
No matching manifest for windows/amd64 |
使用正确的镜像标签(如 :ltsc2022, :nanoserver) |
| Docker Desktop 无法启动 | 确保 BIOS 开启虚拟化,关闭冲突软件(如 VMware、旧版 VirtualBox) |
✅ 总结
| 方案 | 适用系统 | 是否含 Docker Compose | 推荐度 |
|---|---|---|---|
| Docker Desktop | Win Server 2022 | ✅(集成 v2) | ⭐⭐⭐⭐⭐ |
| PowerShell 安装 Docker + 手动添加 compose | 2016/2019/2022 | ✅(手动) | ⭐⭐⭐ |
| 仅使用旧版 docker-compose v1 | 所有 | ⚠️ 已弃用 | ⚠️ 不推荐 |
🔗 参考文档
-
Docker Desktop for Windows Server:
https://docs.docker.com/desktop/install/windows-install/#system-requirements -
Microsoft 容器文档:
https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=windows-server
如有具体版本(如 Windows Server 2019),可提供更详细指导。欢迎补充你的系统版本!
CDNK博客