在 Windows Server 2012 上安装 Docker 是一个高风险且不被推荐的操作。
⚠️ 核心风险提示
Docker Desktop for Windows(目前最流行的版本)官方不再支持 Windows Server 2012/2012 R2。Docker 的后续版本要求操作系统内核较新(通常基于 Windows 10 或 Windows Server 2016+),因为旧版系统缺少必要的内核特性(如 Hyper-V 虚拟化改进、容器隔离机制等)。
如果你必须在此环境运行 Docker,你只有以下两种选择:
- 方案 A(推荐):升级阿里云服务器操作系统到 Windows Server 2019 或 2022(最稳定、最安全)。
- 方案 B(妥协):使用极其古老的 Docker Engine 版本(仅限开发测试,生产环境严禁使用,存在严重安全漏洞)。
方案 B:在 Windows Server 2012 上强行安装(仅限测试)
如果你确定只是用于临时测试,可以尝试安装 Docker Engine 18.03.0-ce 或更早版本。这是最后一个支持 Windows Server 2012 的版本之一。
第一步:检查并开启 Hyper-V
Docker 在 Windows 上依赖 Hyper-V 技术。
- 打开 服务器管理器 (Server Manager)。
- 点击 管理 (Manage) -> 添加角色和功能 (Add Roles and Features)。
- 一路点击“下一步”,直到 服务器角色 页面。
- 勾选 Hyper-V,并在弹出的窗口中确认安装所需的子功能。
- 完成安装后,重启服务器。
第二步:下载旧版 Docker
由于官方仓库已移除旧版,你需要手动查找历史版本。
- 尝试访问 GitHub Releases 页面搜索
docker-18.03.0-ce。 - 或者寻找第三方归档站点(需谨慎验证文件完整性)。
- 你需要下载两个文件:
docker.exe(Docker 引擎二进制文件)docker-compose.exe(如果需要使用 compose)
第三步:配置环境变量
将下载的 docker.exe 和 docker-compose.exe 放入同一个文件夹(例如 C:Program FilesDockerbin),并将该路径添加到系统的 PATH 环境变量中。
第四步:启动 Docker
以管理员身份打开 PowerShell,运行以下命令启动守护进程:
Start-Process "C:Program FilesDockerbindockerd.exe" -ArgumentList "--host=tcp://0.0.0.0:2375" -Wait
注意:开启 TCP 端口 2375 会有安全风险,仅限内网测试。
然后打开一个新的 PowerShell 窗口测试:
docker run hello-world
方案 C:最佳实践建议(强烈推荐)
在阿里云服务器上,Windows Server 2012 已经停止官方支持多年,不仅无法运行新版 Docker,还存在极高的安全漏洞风险。
建议操作步骤:
- 备份数据:在阿里云控制台对当前磁盘创建快照。
- 重装系统:
- 在阿里云控制台选择“重置系统”或“更换操作系统”。
- 选择 Windows Server 2019 Datacenter 或 Windows Server 2022。
- 安装 Docker:
- 在新系统上,直接去微软商店 (Microsoft Store) 搜索 "Docker Desktop" 进行安装,或者使用官方脚本:
# 以管理员身份运行 PowerShell Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/microsoft/wsl-docker/master/install.ps1 -OutFile install.ps1 .install.ps1 - 或者直接使用 Docker 官方提供的 MSI 安装包(针对 Server 2019/2022)。
- 在新系统上,直接去微软商店 (Microsoft Store) 搜索 "Docker Desktop" 进行安装,或者使用官方脚本:
总结
- 生产环境:绝对不要使用 Windows Server 2012 + Docker。请立即规划迁移至 Windows Server 2019/2022 或 Linux (Ubuntu/CentOS)。
- 学习/测试:如果必须用 Win2012,请降级安装 Docker 18.03 版本,但务必做好网络隔离,不要暴露公网。
CLOUD云计算