在阿里云 Windows Server 上部署 Docker,官方并不直接提供原生的 Windows Docker 安装程序(如 Linux 上的 apt 或 yum),因为 Windows 容器需要特定的内核支持。
目前最主流、最稳定的方案是:先安装 WSL 2 (Windows Subsystem for Linux),然后在 WSL 2 中安装 Docker Engine。这种方式性能接近原生,且能完美利用阿里云 ECS 的 Linux 生态。
以下是详细的操作步骤:
前置准备
- 确认系统版本:确保你的阿里云 Windows Server 实例已更新至较新版本(推荐 Windows Server 2019 或 2022)。
- 开启虚拟化:登录阿里云控制台,进入该 ECS 实例详情,检查是否开启了“嵌套虚拟化”(部分镜像默认开启,若未开启需在实例设置中勾选)。
- 网络环境:确保服务器可以访问网络(用于下载镜像和软件)。
方案一:推荐方案(通过 WSL 2 + Docker Desktop)
这是目前 Windows 环境下运行 Docker 的最佳实践,兼容性好,支持 Linux 和 Windows 容器。
步骤 1:启用 WSL 2 功能
以管理员身份打开 PowerShell,依次执行以下命令:
# 启用必要的 Windows 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 重启服务器(必须重启才能生效)
Restart-Computer
步骤 2:安装 WSL 2 内核更新
重启后,再次以管理员身份运行 PowerShell,下载并安装最新的 WSL 2 内核:
wsl --update
步骤 3:安装 Linux 发行版
在 PowerShell 中安装 Ubuntu(或其他你喜欢的发行版,如 Ubuntu 22.04):
wsl --install -d Ubuntu
安装完成后,系统会提示你创建一个新用户和密码。
步骤 4:将默认版本设置为 WSL 2
wsl --set-default-version 2
步骤 5:安装 Docker Desktop
- 在 Windows 浏览器中访问 Docker Hub 下载 Docker Desktop for Windows 安装包。
- 运行安装程序。
- 关键配置:在安装向导中,务必勾选 "Use the WSL 2 based engine"(使用基于 WSL 2 的引擎)。
- 完成安装并启动 Docker Desktop。
- 首次启动时,Docker Desktop 会自动在后台初始化 WSL 2 环境并安装 Docker Engine。
- 等待右下角托盘图标变为绿色鲸鱼标志,表示启动成功。
步骤 6:验证安装
在 PowerShell 中输入:
docker --version
docker run hello-world
如果看到 "Hello from Docker!" 字样,说明部署成功。
方案二:备选方案(仅适用于 Windows 容器场景)
如果你必须运行纯 Windows 容器(例如依赖 .NET Framework 旧版本的应用),且无法使用 WSL 2,则需要安装 Moby Engine(微软开源的 Docker 引擎组件)。
注意:此方案配置复杂,不支持 Linux 容器,且对 Windows Server 版本有严格要求。通常不建议作为首选。
- 下载 Moby Engine 安装包(需从微软 GitHub 仓库获取对应版本的 MSI 文件)。
- 安装时选择
Install as a service。 - 配置
daemon.json指定容器类型(Windows 或 Linux)。 - 由于缺乏图形化界面管理,通常需要配合命令行工具操作,维护成本较高。
阿里云环境下的特别优化建议
在阿里云 ECS 上使用 Docker,建议关注以下几点以提升性能和安全性:
-
安全组配置:
- 登录阿里云控制台 -> 安全组。
- 放行 Docker 常用端口(如
2375,2376仅限内网,业务端口如80,443,3306等)。 - 切勿将 Docker API 端口 (
2375) 对公网开放,否则极易被劫持X_X。
-
磁盘 I/O 优化:
- 阿里云云盘(ESSD/SSD)性能较好,但挂载数据卷时建议使用独立的云盘挂载到
/var/lib/docker,避免系统盘写满。 - 可以在 D 盘或其他数据盘创建目录,并在 Docker Desktop 设置中修改
Data root路径。
- 阿里云云盘(ESSD/SSD)性能较好,但挂载数据卷时建议使用独立的云盘挂载到
-
镜像提速:
- 由于国内网络原因,拉取 Docker Hub 镜像可能很慢。
- 在 Docker Desktop 设置中,找到 Registry Mirrors,填入阿里云提供的镜像提速器地址(需先在阿里云控制台申请个人专属的提速器地址)。
- 配置示例(JSON):
{ "registry-mirrors": ["https://<你的唯一ID>.mirror.aliyuncs.com"] }
总结
对于绝大多数用户,方案一(WSL 2 + Docker Desktop) 是在阿里云 Windows Server 上部署 Docker 的最优解。它既保留了 Windows 的便利性,又拥有了 Linux 容器的完整生态和性能。安装完成后,你可以像操作 Linux 一样在 Windows PowerShell 中使用 docker run、docker-compose 等命令。
CLOUD云计算