在 Windows Server 2022 上安装 Docker 和 Docker Compose,最推荐且稳定的方式是使用 Docker Desktop for Windows(企业版/服务器版场景)或手动安装 Docker Engine。
由于 Windows Server 2022 默认不支持 Linux 容器(Linux Containers),必须先启用“容器”功能并切换为 Linux 模式。以下是两种主流方案的详细步骤:
前置准备:启用容器功能
无论选择哪种方案,首先需要在操作系统层面启用容器支持。
- 打开 PowerShell (管理员)。
- 运行以下命令启用容器功能(如果已启用可跳过):
Install-WindowsFeature -Name containers -IncludeManagementTools - 重启服务器以使更改生效。
- 重启后,再次以管理员身份打开 PowerShell,运行以下命令将 Docker 后端切换为 Linux 模式(Windows Server 通常用于运行 Linux 容器镜像):
docker version # 如果提示需要设置后端,请执行: Set-ContainerEngine -Backend "Moby" -Mode "Linux"注意:如果是为了运行 Windows 容器,则保持默认的
Windows模式即可。
方案一:使用 Docker Desktop(推荐,含图形界面)
这是最简单的方法,它会自动安装 Docker Engine、CLI 以及 Docker Compose V2(集成在引擎中)。
1. 下载与安装
- 访问 Docker Desktop 官方下载页。
- 下载适用于 Windows 的
.exe安装包(注意:需确认你的 Server 版本是否支持,通常 Server 2022 支持,但需确保安装了 .NET Framework 等依赖)。 - 运行安装程序,按照向导完成安装。
- 安装完成后,启动 Docker Desktop。
- 在界面右下角点击齿轮图标(Settings),确保 Use containerd for scanning and storing images 已勾选(可选),然后点击 Apply & Restart。
2. 验证安装
打开 PowerShell,输入以下命令:
docker --version
docker compose version
注:Docker Desktop v20.10+ 版本中,docker-compose 命令已废弃,统一使用 docker compose(注意没有连字符)。
方案二:手动安装 Docker Engine + Compose(无 GUI,适合生产环境)
如果你不需要图形界面,或者 Docker Desktop 授权受限,可以使用脚本手动安装。
1. 安装 Docker Engine
在管理员 PowerShell 中运行微软官方的自动化安装脚本:
# 获取安装脚本
Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/microsoft/winget-pkgs/master/src/Microsoft/Docker/docker-installer.ps1 -OutFile docker-installer.ps1
# 执行安装(自动检测并安装最新版)
.docker-installer.ps1 -AcceptLicense
如果上述脚本无法运行,也可以直接下载 MSI 安装包:
- 访问 Docker CE 稳定版页面。
- 下载
docker-ce.msi和docker-compose.exe。 - 双击
docker-ce.msi进行安装。
2. 安装 Docker Compose
Docker Engine 安装后通常不包含独立的 docker-compose.exe(旧版),新版推荐使用集成的插件方式。
方法 A:使用集成插件(推荐)
Docker Desktop 和较新的 Docker Engine 版本通常内置了 Compose 插件。
在 PowerShell 中测试:
docker compose version
如果显示版本号,说明已成功。如果没有,尝试手动安装插件:
Install-Plugin -Name compose
(注:如果未安装该模块,可能需要先安装 Docker CLI 插件管理器)
方法 B:手动下载二进制文件(兼容旧版习惯)
如果必须使用旧的 docker-compose.exe 命令:
- 从 GitHub Release 下载最新版的
docker-compose-windows-x86_64.exe。 - 将其重命名为
docker-compose.exe。 - 将其移动到 Docker 的 bin 目录(例如
C:Program FilesDockerbin),或者直接添加到系统环境变量PATH中。
常见问题排查
-
报错 "The system cannot find the file specified" 或 "No such image"
- 原因:后端模式未正确设置为 Linux。
- 解决:确保执行了
Set-ContainerEngine -Mode "Linux"并重启了服务。
-
权限问题
- 确保你始终以 Administrator 身份运行 PowerShell。
-
WSL 2 依赖
- Docker Desktop 在 Windows Server 上依赖于 WSL 2 后端。请确保已安装 WSL 2 内核更新:
wsl --update wsl --set-default-version 2
- Docker Desktop 在 Windows Server 上依赖于 WSL 2 后端。请确保已安装 WSL 2 内核更新:
总结建议
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 开发/测试环境 | Docker Desktop | 开箱即用,自带 GUI,管理方便,自动处理 Compose。 |
| 生产环境/无头服务器 | Docker Engine (手动) | 资源占用更少,无图形界面依赖,更易于通过脚本部署。 |
安装完成后,建议运行一个测试容器来验证一切正常:
docker run hello-world
云知识CLOUD