在 Windows Server 2022 标准版 上安装 Docker,需要使用 Docker Desktop for Windows 或更常见的方案是使用 Microsoft 的容器功能 + Docker Engine(通过 PowerShell 安装)。由于 Docker Desktop 对 Windows Server 的支持有限,通常推荐在 Windows Server 上使用原生的 容器功能 并配合 Docker Engine(Moby) 来运行容器。
以下是详细的安装步骤:
✅ 方案一:使用 Microsoft 容器功能 + Docker Engine(推荐用于 Windows Server 2022)
这是最稳定、适用于生产环境的方式。
第一步:启用容器功能
- 以管理员身份打开 PowerShell。
- 运行以下命令启用容器功能:
Install-WindowsFeature -Name Containers
- 安装完成后,重启服务器:
Restart-Computer -Force
第二步:安装 Docker Engine(Moby)
微软与 Docker 合作提供了一个稳定的 Docker Engine 版本,称为 "dockermsftprovider"。
- 安装
DockerMsftProviderPowerShell 模块:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
如果提示无法加载模块或执行策略问题,请先运行:
Set-ExecutionPolicy RemoteSigned -Force
- 使用该模块安装 Docker:
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
- 安装完成后,再次重启系统(非常重要):
Restart-Computer -Force
第三步:验证安装
重启后,运行以下命令检查 Docker 是否正常运行:
docker --version
查看服务状态:
Get-Service docker
如果服务未启动,手动启动它:
Start-Service docker
设置开机自启:
Set-Service docker -StartupType Automatic
第四步:测试运行一个容器
docker run hello-world:nanoserver
或者运行 IIS 示例:
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis
注意:Windows 容器镜像较大,首次拉取可能较慢。
✅ 方案二:使用 Docker Desktop(不推荐用于 Server 2022 生产环境)
⚠️ 注意:Docker Desktop 官方不支持 Windows Server 系列操作系统,仅支持 Windows 10/11 Pro/Enterprise 和 Windows Server 的某些特定版本(如 SAC 版本),而 Windows Server 2022 LTSC 标准版不在支持列表中。
因此,不建议在 Windows Server 2022 上安装 Docker Desktop。
如果你坚持尝试,可能会遇到兼容性问题或无法启动。
🔧 常见问题解决
-
错误:No package found matching ‘docker’
- 确保网络通畅,可访问 PowerShell Gallery。
- 尝试更新 PowerShellGet:
Install-Module -Name PowerShellGet -Force -AllowClobber
-
容器无法拉取镜像
- 检查是否为正确的 Windows 容器版本(如
ltsc2022,1809等)。 - 使用命令查看主机信息:
systeminfo | findstr /i "os version" - 镜像必须与主机 OS 版本兼容。
- 检查是否为正确的 Windows 容器版本(如
-
Docker 服务无法启动
- 查看日志:
Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) - 重新安装 Docker:
Uninstall-Package -Name docker -ProviderName DockerMsftProvider Install-Package -Name docker -ProviderName DockerMsftProvider -Force
- 查看日志:
📌 总结
| 项目 | 推荐方式 |
|---|---|
| 操作系统 | Windows Server 2022 标准版 |
| 安装方式 | PowerShell 安装 Docker Engine(通过 DockerMsftProvider) |
| 是否支持 Docker Desktop | ❌ 不推荐,官方不支持 |
| 容器类型 | Windows 容器(基于 Nano Server / Server Core) |
✅ 成功安装后,你就可以使用 docker build, docker run, docker ps 等命令管理 Windows 容器了。
如需部署 Linux 容器,Windows Server 2022 支持通过 WSL2 + Hyper-V 运行 Linux 容器,但配置复杂,一般建议使用 Linux 主机运行 Linux 容器。
如有具体需求(如部署 ASP.NET 应用、SQL Server 容器等),欢迎继续提问!
秒懂云