在 Windows Server 2022 上使用 Docker,需要安装并配置适用于 Windows 的容器运行时。由于 Docker 在 Windows 上的实现与 Linux 不同,它依赖于 Windows 容器(而不是默认的 Linux 容器),因此需要进行特定设置。
以下是详细的步骤,指导你如何在 Windows Server 2022 上安装和使用 Docker:
✅ 第一步:启用容器功能
- 以管理员身份打开 PowerShell。
- 运行以下命令启用“容器”功能:
Install-WindowsFeature -Name Containers
- 安装完成后,重启服务器:
Restart-Computer -Force
✅ 第二步:安装 Microsoft 更新管理服务(MSU)和容器工具
建议使用 Docker-Microsoft Windows Container Platform (WCP) 支持包。
方法一:通过 PowerShell 安装 Docker Engine(推荐)
- 安装
DockerMsftProvider(用于从微软仓库安装 Docker):
PowerShellGetInstall-Module -Name DockerMsftProvider -Repository PSGallery -Force
- 使用该 Provider 安装 Docker:
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
- 安装完成后,再次重启系统:
Restart-Computer -Force
- 验证 Docker 是否已安装并运行:
Get-Service docker
如果服务未启动,手动启动它:
Start-Service docker
✅ 第三步:验证安装
运行以下命令检查 Docker 版本:
docker --version
输出示例:
Docker version 20.10.17, build 100c701
测试运行一个 Windows 容器:
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from Windows Container!"
⚠️ 注意:必须使用支持 Windows Server 2022 的镜像标签,如
ltsc2022。
✅ 第四步:配置 Docker(可选)
设置 Docker 开机自启:
Set-Service docker -StartupType Automatic
查看 Docker 信息:
docker info
你应该看到类似:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 1
Server Version: 20.10.17
Operating System: Windows Server 2022 Datacenter
...
✅ 第五步:运行你的第一个容器(示例)
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022
这将启动一个 IIS Web 服务器容器,并映射端口 80。
访问服务器 IP 地址,你应该看到 IIS 欢迎页面。
❗ 重要注意事项
| 项目 | 说明 |
|---|---|
| 仅支持 Windows 容器 | Windows Server 2022 默认只支持 Windows 容器,不支持原生 Linux 容器(除非开启 WSL2,但 WSL2 不支持 Server 版)。 |
| 镜像兼容性 | 使用与主机 OS 版本匹配的镜像(如 ltsc2022)。混合版本可能导致失败。 |
| 硬件要求 | 启用 Hyper-V 或基于虚拟化的安全(VBS)可能需要 BIOS 中开启虚拟化(VT-x/AMD-V)。 |
| 更新 Docker | 可通过以下命令更新: |
Update-Package -Name docker -ProviderName DockerMsftProvider
✅ 可选:使用 Docker Compose
- 下载
docker-compose.exe:
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" -UseBasicParsing -OutFile $env:ProgramFilesDockerdocker-compose.exe
- 测试:
docker-compose --version
? 故障排除常见问题
-
错误:no matching manifest for windows/amd64
→ 使用正确的镜像标签(如:ltsc2022),不要使用:latest。 -
Docker 服务无法启动
→ 检查是否已启用 Containers 功能并重启。 -
权限问题
→ 确保使用管理员权限运行 PowerShell。
? 参考资料
- Microsoft 官方文档:Install Docker EE on Windows Server
- Docker 官方 Windows 文档
- Windows 容器镜像中心
✅ 总结:
在 Windows Server 2022 上使用 Docker,核心是:
- 启用 Containers 功能;
- 通过
DockerMsftProvider安装 Docker; - 使用与系统版本匹配的 Windows 容器镜像。
如有进一步需求(如集群、Kubernetes、私有镜像仓库等),可继续扩展使用 Docker Swarm 或 Kubernetes on Windows Nodes。
如果你希望使用 Linux 容器,需考虑升级到 Windows 11 / Windows 10 + WSL2,或使用 Linux 服务器部署 Docker。
CDNK博客