在阿里云的 Windows Server 服务器上安装 Docker,需要根据你使用的 Windows Server 版本选择合适的方式。目前,Docker 官方对 Windows Server 的支持主要通过 Docker Desktop for Windows(适用于特定版本)或使用 Docker Engine via Windows Containers(传统方式)。以下是详细的安装步骤。
✅ 前提条件
-
操作系统要求:
- Windows Server 2019 或 Windows Server 2022
- 必须是 64位系统
- 支持 Hyper-V 和 容器功能
-
虚拟化支持:
- 如果你在阿里云 ECS 实例中,请确保实例规格支持嵌套虚拟化(大多数通用型 g 系列、c 系列等都支持)。
- 推荐使用
ecs.c6.large及以上规格。
-
权限要求:
- 使用管理员账户登录(如 Administrator)
🛠️ 安装步骤(推荐:使用 Microsoft PowerShell 安装 Docker Engine)
⚠️ 注意:Docker Desktop 不支持大多数 Windows Server 版本(仅支持 Win10/Win11 和部分 Win Server Insider),因此我们采用 原生 Docker Engine for Windows Server 的方式。
步骤 1:启用容器功能
以管理员身份打开 PowerShell,运行以下命令:
# 启用容器功能
Enable-WindowsOptionalFeature -Online -FeatureName containers -All
系统会提示重启,输入 Y 并重启服务器:
Restart-Computer -Force
步骤 2:安装 OneGet PowerShell 模块(用于包管理)
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
如果提示信任仓库,输入 A(Yes to All)。
步骤 3:安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider
等待下载并安装完成。
步骤 4:重启服务器
Restart-Computer -Force
步骤 5:验证安装
重启后,再次以管理员身份打开 PowerShell,运行:
docker --version
输出类似:
Docker version 20.10.17, build 100c701
再检查服务状态:
Get-Service docker
如果状态不是 Running,启动它:
Start-Service docker
步骤 6:测试运行一个容器(可选)
docker run hello-world:nanoserver
或者拉取一个 Nano Server 镜像测试:
docker run mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello from Docker on Windows Server!"
🔧 常见问题与注意事项
❌ 无法启动 Docker 服务?
- 确保已启用 Hyper-V:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All - 重启后确认 BIOS 虚拟化开启(阿里云默认开启)。
❌ 镜像拉取慢?
由于国内网络问题,可以配置 Docker 镜像提速器。
编辑或创建配置文件:
mkdir "C:ProgramDatadockerconfig" -ErrorAction SilentlyContinue
notepad "C:ProgramDatadockerconfigdaemon.json"
写入阿里云镜像提速地址(获取地址):
{
"registry-mirrors": ["https://<你的提速器地址>.mirror.aliyuncs.com"]
}
保存后重启 Docker 服务:
Restart-Service docker
📦 补充:安装 Portainer(可视化管理界面)
docker volume create portainer_data
docker run -d -p 9000:9000 `
--name portainer `
--restart always `
-v portainer_data:C:data `
-v C::C:host `
portainer/portainer-ce:windows-amd64-latest
然后访问:http://<你的公网IP>:9000 进行初始化设置。
✅ 总结
| 步骤 | 内容 |
|---|---|
| 1 | 启用容器和 Hyper-V 功能 |
| 2 | 使用 PowerShell 安装 DockerMsftProvider |
| 3 | 安装 Docker Engine |
| 4 | 重启并验证 |
| 5 | 配置镜像提速(推荐) |
如果你希望使用更现代的开发环境,也可以考虑:
- 在 Windows Server 上安装 WSL2(仅支持 Win Server 2004+ 且需特殊配置)
- 或者直接使用 Linux ECS 实例(如 CentOS/Ubuntu) 安装 Docker 更简单高效。
如有具体版本(如 Server 2016、2019、2022),欢迎提供,我可以进一步定制脚本。
ECLOUD博客