在 Windows Server 2022 上安装 Docker 和 Docker Compose,主要依赖 Docker Desktop for Windows(推荐方式)或手动安装 Docker Engine。
由于 Windows Server 2022 默认是“桌面体验”(Desktop Experience)模式还是“服务器核心”(Server Core)模式会影响安装步骤,以下提供两种最通用的方案。
⚠️ 前置检查(必须执行)
无论选择哪种方案,请先确保系统满足以下条件:
- 虚拟化已开启:在 BIOS/UEFI 中开启 VT-x/AMD-V,并在 Hyper-V 管理器中确认虚拟机支持嵌套虚拟化。
- 启用功能:以管理员身份运行 PowerShell,执行以下命令并重启服务器:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All Enable-WindowsOptionalFeature -Online -FeatureName Containers Restart-Computer - 操作系统版本:建议使用 Windows Server 2022 Datacenter 或 Standard 的完整桌面版(Desktop Experience)。如果是 Server Core,Docker Desktop 无法直接安装,需使用
dockerd命令行模式(较复杂,下文重点介绍桌面版)。
方案一:使用 Docker Desktop(推荐,最简单)
这是最便捷的方式,它会自动配置 WSL2 后端,并包含 Docker Compose。
1. 下载与安装
- 访问 Docker Desktop 下载页面。
- 下载适用于 Windows 的安装程序(注意:Docker Desktop 有免费许可证限制,仅限个人开发、教育或非商业用途;企业商用需购买 License)。
- 运行安装程序,按照向导完成安装。
- 关键选项:在安装过程中,务必勾选 "Use WSL 2 instead of Hyper-V"(如果可用),这能显著提升性能。
- 安装完成后重启电脑。
2. 验证安装
打开 PowerShell,输入以下命令:
docker --version
docker compose version
注:新版 Docker Desktop 已将 docker-compose 集成到 docker compose 命令中(带空格),不再需要单独的 docker-compose.exe。
3. 配置镜像源(国内用户必做)
由于网络原因,拉取镜像可能失败。建议修改配置文件:
- 右键点击任务栏 Docker 图标 -> Settings (设置)。
- 进入 Resources -> Docker Engine。
- 在 JSON 配置文件中添加
registry-mirrors:{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] } - 保存后点击 Apply & Restart。
方案二:仅安装 Docker Engine(适合 Server Core 或无 GUI 环境)
如果你使用的是 Server Core 版本,或者不想安装庞大的 Docker Desktop 图形界面,可以只安装 Docker Engine 和 Compose 插件。
1. 下载安装包
访问 Docker Hub 的官方发布页,找到对应版本的 MSI 安装包:
- Docker Engine: 下载
docker-<version>.msi(例如docker-24.0.x.msi) - Docker Compose Plugin: 下载
docker-compose-plugin-<version>.msi(注意:Compose V2 是作为插件安装的)
提示:请确保下载的 Docker Engine 版本与你的 Windows Server 2022 内核兼容(通常最新版都支持)。
2. 安装 Docker Engine
以管理员身份运行 CMD 或 PowerShell,执行:
# 假设文件在当前目录
.docker-24.0.x.msi /quiet /norestart
安装完成后,服务会自动启动。
3. 安装 Docker Compose 插件
同样以管理员身份运行:
.docker-compose-plugin-2.x.x.msi /quiet /norestart
4. 验证安装
docker --version
docker compose version
此时你应该能看到两个版本号。
常见问题排查
-
报错 "The container operating system does not match the host operating system"
- 原因:Windows Server 2022 默认开启了容器化隔离,但有时需要切换容器类型。
- 解决:在 Docker Desktop 设置中,确保选择了 Linux 容器(WSL2)或 Windows 容器。如果在 Server Core 下,确保你拉取的镜像架构匹配(例如
mcr.microsoft.com/windows/servercore:ltsc2022)。
-
权限问题
- 如果非管理员账户无法运行 Docker,需要将当前用户添加到
docker-users组:net localgroup docker-users <用户名> /add
- 如果非管理员账户无法运行 Docker,需要将当前用户添加到
-
License 警告
- 如果使用 Docker Desktop 进行商业生产环境部署且公司规模超过 250 人或年营收超过 1 亿美元,会收到许可警告。此时建议切换到 方案二(Docker Engine) 或使用 Kubernetes。
总结
- 普通桌面版服务器:直接使用 Docker Desktop,一键安装,自带 Compose,维护成本最低。
- Server Core / 生产环境精简:使用 Docker Engine + Compose Plugin 的 MSI 包,无图形界面依赖,资源占用更小。
CLOUD云枢