在 Windows Server 上安装 Docker 和 Docker Compose,需要根据你使用的 Windows Server 版本(如 2016、2019、2022)和需求选择合适的方式。目前,Docker 官方推荐在 Windows Server 上使用 Docker Desktop 或 独立的 Moby/Docker 引擎 + Docker CLI + Docker Compose 插件。
不过请注意:
- Docker Desktop for Windows 主要面向开发环境(Windows 10/11 和 Windows Server 可用,但需满足条件)。
- 在生产环境中,更推荐使用 Microsoft 提供的容器支持 + 社区版 Docker 引擎(Moby)或直接使用 Microsoft 的容器运行时(如 containerd)配合 Kubernetes。
✅ 推荐方式:使用 Microsoft 官方支持的 Docker Engine(适用于 Windows Server 2016/2019/2022)
步骤 1:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
步骤 2:安装 Docker Engine(Moby 项目构建的引擎)
注意:Docker 公司不再官方维护
docker/engine对 Windows 的支持。现在推荐从 Microsoft 维护的仓库安装。
方法一:使用 Microsoft 提供的脚本安装(推荐)
# 下载 Microsoft 的 Docker 安装脚本
Invoke-WebRequest "https://github.com/microsoft/Windows-Containers/raw/main/Artifacts/Install-DockerEngine.ps1" -UseBasicParsing -OutFile "Install-DockerEngine.ps1"
# 执行安装
.Install-DockerEngine.ps1
这个脚本会自动:
- 检查系统版本
- 下载并安装最新兼容版本的 Docker Engine(基于 Moby)
- 配置服务并启动
安装完成后,Docker 服务会自动运行。
验证是否成功:
docker --version
docker run hello-world:nanoserver
注意:Windows 容器镜像必须与主机系统版本兼容(例如 Server 2019 镜像不能运行在 2016 上)。
步骤 3:安装 Docker Compose
方式 1:安装 Docker Compose V2(作为插件,推荐)
Docker Compose 现在是 docker compose 子命令(注意中间是空格),而不是旧的 docker-compose(v1)。
下载 docker-compose 插件二进制文件到 Docker CLI 插件目录:
# 创建插件目录(如果不存在)
$plugins = "$env:ProgramDataDockercli-plugins"
if (!(Test-Path $plugins)) { New-Item -ItemType Directory -Path $plugins }
# 下载 docker-compose 插件(替换 x.x.x 为最新版本号)
Invoke-WebRequest `
-Uri "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe" `
-UseBasicParsing `
-OutFile "$pluginsdocker-compose.exe"
验证:
docker compose version
你应该看到输出类似:
Docker Compose version v2.27.0
方式 2:手动安装旧版 docker-compose(不推荐)
如果你仍想使用 docker-compose 命令(v1),可以这样安装:
Invoke-WebRequest `
-Uri "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe" `
-UseBasicParsing `
-OutFile "$env:ProgramFilesdockerdocker-compose.exe"
然后就可以使用:
docker-compose --version
⚠️ 注意:
docker-compose(v1)已废弃,建议迁移到docker compose(v2)。
✅ 可选:使用 Docker Desktop(仅限特定场景)
Docker Desktop 支持 Windows Server 2019 和 2022,但要求:
- 必须启用 WSL2 或 Hyper-V
- 是 64-bit 系统
- 启用了虚拟化
安装步骤:
- 下载 Docker Desktop Installer
- 运行安装程序(需要 GUI 环境)
- 安装后重启
适合开发测试环境,不适合无图形界面的纯服务器部署。
🔧 常见问题
❌ 错误:no matching manifest for windows/amd64
原因:拉取了 Linux 镜像而非 Windows 容器镜像。
解决方法:
- 使用 Windows 基础镜像,如:
docker run mcr.microsoft.com/windows/nanoserver:ltsc2022 - 确保 Docker 切换到了 Windows 容器模式
切换容器模式(PowerShell):
& $Env:ProgramFilesDockerdocker.exe switch-linux
& $Env:ProgramFilesDockerdocker.exe switch-windows
注意:Docker Desktop 可右键托盘图标切换;传统引擎需确保配置正确。
✅ 总结:推荐方案
| 目标 | 推荐方式 |
|---|---|
| 生产环境(无 GUI) | 使用 Install-DockerEngine.ps1 脚本安装 Docker 引擎 + 安装 docker compose 插件 |
| 开发/测试环境(有桌面) | 安装 Docker Desktop |
| 编排需求 | 使用 docker compose 运行多容器应用 |
📚 参考文档
- https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=dotnet
- https://github.com/microsoft/Windows-Containers
- https://docs.docker.com/compose/install/
如有具体版本(如 Windows Server 2019 数据中心版),可提供更详细指导。欢迎补充你的环境信息!
CLOUD技术博