在 Windows Server 2022 上安装 Docker,你需要使用 Docker Desktop for Windows 或更推荐的方式:Docker Engine(通过 Microsoft 的容器功能支持)。不过需要注意的是,Docker Desktop 官方主要支持 Windows 10/11 Pro/Enterprise 和 Windows Server 2022 的特定版本。
以下是详细的安装步骤:
✅ 前提条件
-
操作系统版本:
- Windows Server 2022(64位)
- 必须启用 Hyper-V 和 容器 功能(或使用 Windows Subsystem for Linux 2 (WSL2),但服务器版通常不用 WSL)
-
权限要求:
- 使用管理员账户操作
-
网络连接:
- 需要联网下载组件和模块
方法一:安装 Docker Engine(推荐用于服务器环境)
这是生产环境中更常见的做法 —— 直接安装 Docker 引擎(Moby/Docker-Engine),而不是 Docker Desktop。
步骤 1:以管理员身份打开 PowerShell
# 设置执行策略
Set-ExecutionPolicy RemoteSigned -Force
步骤 2:安装容器功能
# 安装“容器”可选功能
Install-WindowsFeature -Name Containers
安装完成后建议重启服务器:
Restart-Computer -Force
步骤 3:安装 Microsoft 更新源的 Docker Provider(旧方法已弃用)
⚠️ 注意:
DockerMsftProvider已不再维护(微软已于 2022 年停止更新)。现在推荐使用官方脚本或手动安装最新版 Docker Engine。
步骤 3(新方法):使用官方脚本安装最新 Docker Engine
方式 A:使用 Docker 官方提供的安装脚本(PowerShell)
# 下载并运行官方安装脚本
Invoke-WebRequest -Uri https://get.docker.com/win/stable/docker.zip -OutFile docker.zip
Expand-Archive docker.zip -DestinationPath $env:ProgramFiles
Remove-Item docker.zip
或者使用测试通道(可能更新):
Invoke-WebRequest -Uri "https://download.docker.com/components/engine/windows-server/2022/docker-24.0.7.zip" -OutFile "docker.zip"
Expand-Archive -Path "docker.zip" -DestinationPath $env:ProgramFiles -Force
Remove-Item "docker.zip"
🔗 替换 URL 中的版本号为你需要的版本(如
docker-25.0.3.zip),查看可用版本请访问:
https://download.docker.com/components/engine/windows-server/
步骤 4:将 Docker 添加到系统路径
# 添加 Docker 到环境变量 PATH
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + "$env:ProgramFilesdocker", [System.EnvironmentVariableTarget]::Machine)
$env:Path += ";" + "$env:ProgramFilesdocker"
步骤 5:注册 Docker 服务
# 注册 dockerd 为 Windows 服务
$env:ProgramFilesdockerdockerd --register-service
可添加参数优化启动项,例如:
dockerd --register-service -H npipe:// -H tcp://0.0.0.0:2375 --tls=false⚠️ 开放 TCP 端口需谨慎,仅限内网或安全环境使用。
步骤 6:启动 Docker 服务
Start-Service docker
设置开机自启:
Set-Service docker -StartupType Automatic
步骤 7:验证安装
docker version
运行一个测试容器:
docker run hello-world:nanoserver
如果提示找不到镜像,可以拉取一个 Windows 兼容镜像:
docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022 docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo Hello Docker!
方法二:安装 Docker Desktop(不推荐用于 Server 生产环境)
⚠️ Docker Desktop 可以在 Windows Server 2022 上运行,但它是为开发人员设计的,依赖 WSL2 或 Hyper-V GUI 层,在服务器上通常不推荐。
如果你仍然想尝试:
-
启用 WSL2 和 Hyper-V:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Microsoft-Windows-Subsystem-Linux -All -
下载 Docker Desktop Installer:
👉 https://www.docker.com/products/docker-desktop/ -
安装后配置使用 Windows 容器。
-
注意:必须登录账号才能使用(个人免费有限制)。
🛠️ 常见问题与解决
| 问题 | 解决方案 |
|---|---|
docker: command not found |
检查 PATH 是否包含 $env:ProgramFilesdocker |
| 容器无法启动 | 确保主机 OS 版本与容器镜像版本匹配(如 LTSC2022 对应 nanoserver:ltsc2022) |
| 镜像拉取失败 | 检查网络、DNS 或X_X设置;可配置镜像提速器(国内用户) |
| 权限错误 | 使用管理员权限运行 PowerShell |
✅ 总结
| 方案 | 推荐场景 |
|---|---|
| Docker Engine 手动安装 | ✔️ 生产服务器、轻量高效 |
| Docker Desktop | ❌ 不推荐用于 Server,适合开发调试 |
🔗 参考文档
- Docker 官方文档(Windows): https://docs.docker.com/engine/installation/windows/
- Microsoft 容器文档: https://learn.microsoft.com/en-us/virtualization/windowscontainers/
如有具体需求(如部署 ASP.NET 应用、使用 Kubernetes、私有镜像仓库等),欢迎继续提问!
ECLOUD博客