在云服务器上使用 Windows Server 系统安装 Docker 是可行的,但需要注意以下几点:
✅ 一、前提条件
-
操作系统版本要求
- 必须是 Windows Server 2016、2019、2022 或 Windows 10/11(用于测试)。
- 推荐使用 Windows Server 2019 或 2022 Datacenter 版本,支持更完整。
-
Docker 在 Windows 上运行的是:
- Windows 容器(Windows Containers):运行基于 Windows 的镜像(如
mcr.microsoft.com/windows/servercore)。 - ❌ 不支持直接运行 Linux 容器(除非开启 Hyper-V + WSL2,但这在 Server 上不常见)。
- Windows 容器(Windows Containers):运行基于 Windows 的镜像(如
-
硬件与权限要求
- 启用 Hyper-V 和 容器功能(Containers feature)
- 管理员权限
- 足够的磁盘空间和内存
✅ 二、安装步骤(以 Windows Server 2019/2022 为例)
方法一:使用 PowerShell 安装 Docker(推荐)
这是最标准的方式,适用于大多数云服务器(如阿里云、腾讯云、AWS、Azure 等)。
# 1. 安装必要模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 2. 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 3. 重启服务器(必须)
Restart-Computer -Force
⚠️ 注意:第一次安装完成后必须重启!
方法二:手动下载并安装 Docker
如果上面的方法失败(网络问题),可以手动下载:
-
下载 Docker for Windows Server:
- 访问官方地址(需X_X):
https://download.docker.com/components/engine/windows-server/index.html - 下载最新
.zip包(例如docker-xx.x.x.zip)
- 访问官方地址(需X_X):
-
解压并安装:
# 下载示例(替换为实际链接)
Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/docker-24.0.7.zip" -OutFile "docker.zip" -UseBasicParsing
# 解压
Expand-Archive -Path "docker.zip" -DestinationPath C:ProgramDatadocker -Force
# 添加到系统路径
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:ProgramDatadocker", [System.EnvironmentVariableTarget]::Machine)
# 刷新环境变量
$env:Path += ";C:ProgramDatadocker"
# 注册 Docker 服务
.dockerd --register-service
- 启动 Docker 服务:
Start-Service docker
✅ 三、验证安装是否成功
docker --version
docker info
运行一个测试容器:
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from Windows Container!"
✅ 四、常见问题解决
| 问题 | 解决方法 |
|---|---|
Install-Module : The term 'Install-Module' is not recognized |
先安装 PowerShellGet:Install-PackageProvider -Name NuGet -ForceInstall-Module -Name PowerShellGet -Force |
| 网络超时或无法访问 PSGallery | 配置X_X或手动下载 Docker zip 包 |
| 提示“reboot pending” | 执行 Restart-Computer -Force |
| 容器启动失败 | 检查宿主机与镜像的 OS 版本是否兼容(如 ltsc2022 镜像需要 WinSvr 2022) |
✅ 五、注意事项
- Windows 容器体积大(通常几百 MB 到 GB),建议使用轻量镜像如
nanoserver或windowsservercore:ltsc。 - 性能不如 Linux 容器,适合特定 .NET Framework / .NET Full 应用场景。
- 若想运行 Linux 容器,需使用 WSL2 + Docker Desktop,但 Windows Server 默认不支持 WSL2,仅限 Client 版 Windows。
✅ 六、推荐使用场景
✅ 适合:
- 部署传统 ASP.NET(.NET Framework)应用
- Windows 服务容器化
- SQL Server on Windows 容器
- CI/CD 中构建 Windows 应用
❌ 不推荐:
- Web 服务性能要求高
- 希望使用轻量 Linux 镜像(建议改用 Linux 云服务器)
✅ 七、替代方案建议
如果你主要想运行 Linux 容器,强烈建议:
➡️ 改用 Linux 云服务器(如 Ubuntu/CentOS) + Docker,体验更好、生态更成熟。
如有具体云平台(如阿里云、华为云、AWS),可提供进一步配置指导。
需要我帮你写一个完整的自动化安装脚本吗?
云服务器