在 Windows Server 2022 上使用 Docker,你可以选择以下两种主要方式:
- Docker Desktop for Windows Server(不推荐)
- 直接安装 Docker Engine(推荐方式)
由于 Docker Desktop 在 Windows Server 上支持有限且通常用于开发环境,生产环境中更推荐使用 Docker Engine for Windows Server。
✅ 推荐方法:在 Windows Server 2022 上安装 Docker Engine
步骤 1:启用容器功能
以管理员身份运行 PowerShell,执行以下命令:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
注意:安装完成后必须重启系统。
步骤 2:下载并安装 Docker Engine
目前微软和 Docker 合作提供了一个适用于 Windows 的 Docker 官方二进制包。我们使用 PowerShell 来安装。
方法一:使用 Microsoft 的脚本自动安装(推荐)
# 下载并运行官方安装脚本
Invoke-WebRequest "https://github.com/microsoft/hcsshim/releases/latest/download/install.ps1" -OutFile "install-docker.ps1"
.install-docker.ps1
这个脚本会自动:
- 下载最新稳定版的
dockerd和docker.exe - 安装为 Windows 服务
- 启动 Docker 服务
参考项目:https://github.com/microsoft/hcsshim
方法二:手动安装 Docker Engine
- 下载 Docker 二进制文件:
# 创建目录
New-Item -ItemType Directory -Path "C:Program FilesDocker" -Force
# 下载 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 "C:Program FilesDocker" -Force
# 清理压缩包
Remove-Item "docker.zip"
⚠️ 注意:请根据实际需求替换下载链接中的版本号。可查看 Docker 官方发布页 获取最新版本。
- 将 Docker 添加到系统路径:
# 添加 Docker 到 PATH 环境变量
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:Program FilesDocker", [System.EnvironmentVariableTarget]::Machine)
# 当前会话立即生效
$env:Path += ";C:Program FilesDocker"
- 安装 Docker 服务:
# 安装 dockerd 作为服务
& 'C:Program FilesDockerdockerd.exe' --register-service
# 启动服务
Start-Service docker
步骤 3:验证安装
# 查看 Docker 版本
docker --version
# 查看 Docker 信息
docker info
# 运行测试容器(Windows 容器)
docker run mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from Docker on Windows Server 2022!"
🔧 常见配置(可选)
设置 Docker 使用镜像提速器(如阿里云)
创建或编辑配置文件:
# 创建 daemon.json 配置文件
@"{
"registry-mirrors": ["https://<your-mirror-id>.mirror.aliyuncs.com"]
}"@ | Out-File -FilePath C:ProgramDatadockerconfigdaemon.json -Encoding Ascii
替换
<your-mirror-id>为你自己的阿里云提速地址(登录 https://cr.console.aliyun.com 获取)
重启 Docker 服务:
Restart-Service docker
📌 注意事项
-
仅支持 Windows 容器
Windows Server 2022 默认只支持运行 Windows 容器,不支持 Linux 容器(除非启用 WSL2 或特殊桥接,但非常复杂且不稳定)。 -
容器镜像必须匹配主机 OS 版本
例如:使用ltsc2022镜像才能在 WinSrv 2022 上运行。docker run mcr.microsoft.com/windows/servercore:ltsc2022 cmd -
确保已激活 Windows Server 并有有效许可证
某些功能可能受限于授权状态。 -
防火墙与网络策略
若部署服务,需开放相应端口,并配置 NAT 或透明网络模式。
❌ 不推荐:Docker Desktop for Windows Server
Docker Desktop 主要面向开发者桌面环境(Windows 10/11 Pro),不正式支持 Windows Server 2022。即使能运行,也可能违反许可协议。
✅ 总结
| 步骤 | 操作 |
|---|---|
| 1 | 安装 Containers 功能 |
| 2 | 下载并安装 Docker Engine(推荐用 install.ps1 脚本) |
| 3 | 注册并启动 docker 服务 |
| 4 | 测试运行一个 Windows 容器 |
📚 参考资料
- https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=windows-server
- https://github.com/microsoft/hcsshim
- https://download.docker.com/components/engine/windows-server/
如果你希望进一步集成 Kubernetes、使用 Portainer 管理界面或配置 CI/CD,也可以继续扩展。需要的话我可以继续指导。
CLOUD云计算