在 Windows Server 2022 上安装 Docker 和 Docker Compose,主要依赖于 Docker Desktop for Windows(推荐方案)或手动配置 Docker Engine。
由于 Windows Server 默认没有图形化界面(Server Core),或者为了保持系统轻量化,通常有两种主流方式:
- 使用 Docker Desktop(推荐):包含完整的 GUI、Kubernetes 支持和自动更新的 Compose,适合有桌面环境或愿意通过远程管理的情况。
- 使用 Docker Engine + Compose 插件(无头模式):适合 Server Core 或不想安装庞大桌面客户端的场景。
以下是两种方案的详细步骤:
前置条件(必须执行)
无论选择哪种方案,都需要先开启 Hyper-V 并启用容器功能。
-
开启 Hyper-V 和容器支持
以管理员身份打开 PowerShell,运行以下命令:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All Enable-WindowsOptionalFeature -Online -FeatureName Containers-DisposableClientVM注意:如果提示需要重启,请运行
Restart-Computer。 -
确认虚拟化支持
确保 BIOS/UEFI 中已开启虚拟化技术(VT-x / AMD-V)。
方案一:安装 Docker Desktop for Windows(最常用,包含 Compose)
这是最简单的方法,Docker Desktop 会自动下载并配置 Docker Compose V2(作为插件集成)。
1. 下载与安装
- 访问 Docker Desktop 官方下载页。
- 下载 Windows (x86_64) 版本的
.exe安装包。 - 运行安装程序,按照向导操作。
- 关键步骤:在安装过程中,务必勾选 "Use WSL 2 instead of Hyper-V"(如果系统支持 WSL 2)。WSL 2 性能更好,且是未来的标准。
- 如果未勾选,它也会使用 Hyper-V,但 WSL 2 体验更佳。
- 安装完成后重启电脑(如果需要)。
2. 验证安装
打开 PowerShell,运行:
docker --version
docker compose version
注意:在较新版本的 Docker Desktop 中,Compose 命令是 docker compose (带空格),而不是旧版的 docker-compose。两者通常都兼容,但建议优先使用新版语法。
3. 配置镜像提速(可选但推荐)
由于网络原因,国内用户可能需要配置镜像提速器。
- 点击任务栏右下角的 Docker 图标 -> Settings (齿轮)。
- 进入 Resources -> Docker Engine。
- 在
daemon.json中添加你的镜像提速器地址(例如阿里云或腾讯云提供的地址):{ "registry-mirrors": [ "https://<你的提速器域名>.mirror.aliyuncs.com" ] } - 点击 Apply & Restart。
方案二:安装 Docker Engine + Compose 插件(适合 Server Core 或轻量部署)
如果你使用的是 Windows Server Core 版本,或者不希望安装庞大的 Docker Desktop,可以使用此方案。这需要手动安装 MSI 包并单独配置 Compose。
1. 安装 Docker Engine
- 访问 Docker Engine for Windows 发布页 或直接搜索 "Docker Engine Windows Server"。
- 注:微软官方通常提供的是 MSI 安装包链接,通常在 GitHub 的 releases 页面或 Docker 官方文档中查找对应版本的
.msi。 - 推荐使用稳定版(Stable Channel)的 MSI 包。
- 注:微软官方通常提供的是 MSI 安装包链接,通常在 GitHub 的 releases 页面或 Docker 官方文档中查找对应版本的
- 双击运行
.msi进行安装。 - 安装完成后,启动 Docker 服务:
Start-Service docker
2. 安装 Docker Compose
Docker Engine 不再内置 Compose 二进制文件,而是作为一个独立的插件存在。
-
下载 Compose 插件:
前往 GitHub Docker Compose Releases。
找到最新稳定版(如 v2.x.x),下载docker-compose-windows-x86_64.exe。
(注意:不要下载 v1.x 版本,v2 是重写后的 Go 语言版本,性能更好) -
重命名并移动文件:
将下载的docker-compose-windows-x86_64.exe重命名为docker-compose.exe。
将其移动到 Docker 的安装目录,通常是:
C:Program FilesDockerlibexecdockercli-plugins
如果该文件夹不存在,请手动创建它。 -
验证 Compose 插件:
在 PowerShell 中运行:docker compose version如果显示版本号,说明安装成功。此时你既可以使用
docker compose up,也可以使用旧版的docker-compose up(取决于配置,通常插件模式下直接调用docker compose)。
常见问题排查
-
报错:The system cannot find the file specified (WSL 2 not enabled)
- 如果你选择了 WSL 2 后端但未安装 WSL 2 内核更新。
- 解决:在管理员 PowerShell 运行
wsl --install(Win10/11) 或在 Server 上手动安装 WSL 2 内核更新包,并确保已启用Microsoft-Windows-Subsystem-Linux功能。
-
权限问题
- 确保当前用户属于
Docker Users组,或者始终以管理员身份运行 PowerShell。
- 确保当前用户属于
-
端口冲突
- 如果 2375 或 2376 端口被占用,Docker 可能无法启动。检查
netstat -ano | findstr :2375。
- 如果 2375 或 2376 端口被占用,Docker 可能无法启动。检查
总结建议
- 对于大多数生产环境和开发测试:请直接使用 方案一 (Docker Desktop)。它维护了所有依赖项,自动处理 Compose 版本,且支持 Kubernetes 集群模拟,运维成本最低。
- 对于极度受限的 Server Core 环境:使用 方案二,但需注意手动管理 Docker 引擎升级和 Compose 插件版本同步。
安装完成后,你可以尝试运行一个测试容器来验证一切正常:
docker run hello-world
轻量云Cloud