在 Windows Server 2022 上使用 Docker,你可以选择以下两种主要方式:
- Docker Desktop for Windows Server(不推荐用于生产)
- 直接安装 Docker Engine(推荐用于服务器环境)
由于 Windows Server 2022 是一个服务器操作系统,通常建议使用 原生 Docker Engine(通过 Microsoft 的容器功能支持),而不是 Docker Desktop。以下是详细步骤。
✅ 推荐方法:在 Windows Server 2022 上安装 Docker Engine
步骤 1:启用容器功能
以管理员身份打开 PowerShell 并运行:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
这一步会安装 Windows 容器运行时所需的核心组件。
步骤 2:安装 Microsoft 提供的 Docker Provider(OneGet)
Microsoft 提供了一个 PowerShell 模块来简化 Docker 安装。
# 安装并导入包管理模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 使用该提供者安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
第一次执行可能会提示你信任 PSGallery,输入
A(Yes to All)即可。
步骤 3:重启系统
Restart-Computer -Force
确保 Docker 服务正确注册并启动。
步骤 4:验证安装
重启后,检查 Docker 版本和服务状态:
docker --version
查看服务是否运行:
Get-Service docker
如果服务未运行,可以手动启动:
Start-Service docker
步骤 5:测试运行一个容器
docker run hello-world:nanoserver
或运行 IIS 示例容器:
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022
访问 http://localhost 或服务器 IP 应能看到 IIS 默认页面。
🐳 支持的镜像类型
Windows Server 2022 支持以下容器:
- Windows Server Core 镜像(如
servercore,iis,.NET Framework) - Nano Server 镜像(轻量级,适用于微服务)
注意:必须使用与主机版本兼容的镜像(建议使用 ltsc2022 标签)。
例如:
mcr.microsoft.com/windows/servercore:ltsc2022
mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2022
🔧 可选:配置 Docker 守护进程(daemon.json)
编辑配置文件(路径:C:ProgramDatadockerconfigdaemon.json):
{
"hosts": ["tcp://0.0.0.0:2375", "npipe://"],
"exec-opts": ["isolation=process"]
}
注意:开放 TCP 端口需确保网络安全!
然后重启 Docker 服务:
Restart-Service docker
❌ 不推荐:Docker Desktop on Windows Server
Docker Desktop 主要面向开发人员桌面环境(Windows 10/11 Pro),不支持也不推荐用于 Windows Server 生产环境。它依赖 WSL2 和 Hyper-V GUI 组件,在服务器上可能无法正常运行或违反许可协议。
⚠️ 常见问题与注意事项
| 问题 | 解决方案 |
|---|---|
| 镜像拉取失败 | 检查网络、使用完整镜像标签(如 ltsc2022) |
| 版本不兼容 | Windows 容器必须与宿主 OS 版本匹配 |
| 权限不足 | 使用管理员权限运行 PowerShell |
| 防火墙阻止端口 | 开放所需端口(如 80, 443, 2375) |
✅ 总结
在 Windows Server 2022 上使用 Docker 的最佳实践是:
- 启用
Containers功能 - 使用
DockerMsftProvider安装 Docker Engine - 重启并验证
- 运行兼容的 Windows 容器镜像(ltsc2022)
这样可以获得稳定、高效的容器运行环境,适合生产部署。
如需进一步集成 Kubernetes,可考虑使用 AKS-HCI 或 Rancher + RKE2 等企业级方案。
需要我帮你写一个自动化安装脚本吗?
云服务器