在阿里云服务器上安装 Docker 的 Windows Server 系统时,需要注意:Docker 在 Windows Server 上的支持方式与 Windows 10/11 不同。Windows Server 使用的是 Windows 容器(基于 Windows Server Core 或 Nano Server 镜像),而不是 Linux 容器。
以下是详细的安装步骤,适用于 Windows Server 2019 / 2022 系统。
✅ 前提条件
-
操作系统版本要求:
- Windows Server 2019 或 Windows Server 2022(推荐 2022)
- 必须是 Datacenter 或 Standard 版本,支持容器功能。
- 安装为 桌面体验(Desktop Experience) 模式(非 Server Core 最好)。
-
管理员权限:需要以管理员身份运行 PowerShell。
-
网络连接:确保服务器可以访问公网(用于下载 Docker 和容器镜像)。
📦 步骤 1:启用容器功能
以管理员身份打开 PowerShell,运行以下命令:
Install-WindowsFeature -Name Containers
安装完成后,重启服务器:
Restart-Computer -Force
📦 步骤 2:安装 Docker Engine(Windows 版)
Docker 官方不再直接提供 Windows 安装包,但你可以通过 Microsoft 提供的脚本安装。
- 打开管理员 PowerShell,运行:
# 安装最新版 Docker
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
- 安装完成后,重启服务器:
Restart-Computer -Force
✅ 验证安装
重启后,再次打开管理员 PowerShell,运行:
docker --version
输出类似:
Docker version 20.10.17, build 100c701
再运行:
docker run hello-world:nanoserver
注意:Windows 容器不能运行
hello-worldLinux 镜像,必须使用 Windows 镜像,如nanoserver或servercore。
如果看到输出信息,说明 Docker 安装成功。
🐳 可选:配置 Docker 使用 Linux 容器(需 WSL2,仅限特定场景)
⚠️ 注意:Windows Server 不支持 WSL2,因此 无法在 Windows Server 上运行 Linux 容器。
如果你需要运行 Linux 容器,请使用 阿里云 ECS 的 Linux 系统(如 CentOS、Ubuntu)。
🔧 常见问题
1. 镜像拉取慢?
由于 Docker Hub 国内访问慢,可配置阿里云镜像X_X器:
- 登录 阿里云控制台
- 获取你的镜像X_X器地址(如
https://xxxx.mirror.aliyuncs.com) - 配置 Docker daemon:
# 创建或编辑 daemon 配置文件
$daemon = @{
"registry-mirrors" = @("https://xxxx.mirror.aliyuncs.com")
} | ConvertTo-Json
$daemon | Out-File -FilePath 'C:ProgramDatadockerconfigdaemon.json' -Encoding ASCII
然后重启 Docker 服务:
Restart-Service docker
🧩 示例:运行一个 Windows 容器
docker run -it mcr.microsoft.com/windows/servercore:ltsc2022 cmd
这将启动一个基于 Windows Server Core 2022 的容器。
✅ 总结
| 步骤 | 命令 |
|---|---|
| 启用容器功能 | Install-WindowsFeature -Name Containers |
| 安装 Docker | Install-Module DockerMsftProvider, Install-Package docker |
| 重启生效 | Restart-Computer -Force |
| 验证 | docker --version, docker run hello-world:nanoserver |
| 镜像X_X | 配置 daemon.json 添加阿里云镜像地址 |
📌 建议
- 若你主要运行 Linux 应用,建议使用 Linux 系统的 ECS 实例,Docker 支持更好、生态更成熟。
- Windows 容器适合运行 .NET Framework / .NET Core 的 Windows 应用。
如有具体需求(如部署 ASP.NET 应用),可进一步提供帮助。
CDNK博客