在 Windows Server 上安装 Docker,目前最推荐且官方支持的方式是安装 Docker Desktop for Windows(虽然它主要用于桌面版,但在服务器版上也能运行,但更推荐使用轻量级的 Docker Engine)。
由于 Windows Server 通常用于生产环境,为了获得最佳的性能、稳定性和安全性,建议直接安装 Docker Engine (Community Edition)。以下是基于 Windows Server 2019/2022 的标准安装步骤:
核心前置条件
- 操作系统版本:Windows Server 2016, 2019, 或 2022。
- 虚拟化支持:确保 BIOS/UEFI 中已开启虚拟化技术(VT-x/AMD-V),并在 Hyper-V 管理器中确认功能正常。
- 网络模式:Docker 默认使用 NAT 网络,需确保服务器有互联网连接以拉取镜像。
方法一:使用 PowerShell 脚本自动安装(推荐)
这是最快且最不容易出错的方法,由微软官方维护的脚本会自动处理依赖项、下载并配置 Docker Engine。
-
以管理员身份打开 PowerShell。
- 右键点击“开始”菜单 -> 选择 "Windows PowerShell (Admin)"。
-
执行安装命令:
复制以下命令并粘贴到终端中执行(该脚本会自动检查环境并安装 Docker):# 设置执行策略为 Bypass (仅当前会话有效) Set-ExecutionPolicy Bypass -Scope Process -Force # 下载并运行安装脚本 iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/microsoft/Winget-PKGBuild/master/scripts/DockerEngineInstall.ps1'))注意:如果上述 GitHub 链接失效,也可以直接使用微软官方提供的 MSI 安装包进行手动安装(见方法二)。
-
验证安装:
脚本执行完毕后,重启服务器(部分情况下需要,有时不需要),然后运行:docker --version docker run hello-world如果看到
Hello from Docker!字样,说明安装成功。
方法二:手动下载安装包(MSI)
如果你无法通过 PowerShell 访问外部网络,或者希望更精细地控制安装过程,可以手动下载 MSI 安装包。
1. 下载 Docker Engine MSI
访问 Docker 官方发布页或直接从以下地址获取对应版本的 MSI(以 Windows Server 2022 为例):
- 下载地址:https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
- 提示:虽然文件名包含 Desktop,但该安装包包含了 Docker Engine。对于纯服务器环境,请确保在安装向导中选择 "Use WSL 2 instead of Hyper-V"(如果可用)或保持默认的 Hyper-V 模式。
- 重要:如果是纯服务器生产环境,建议去 Docker Hub 或镜像源寻找专门的 Docker Engine for Windows 安装包(通常是
.msi文件),而不是 Docker Desktop 的.exe安装程序,因为后者包含 GUI 组件,占用更多资源。 - 替代方案:如果找不到单独的 Engine MSI,可以使用 Docker Desktop 的安装程序,但在安装时勾选 "Use Hyper-V containers" 并确保不启动 GUI 界面(通过服务运行)。
2. 安装步骤
- 双击下载的
.msi文件。 - 接受许可协议。
- 关键步骤:在安装类型选择界面:
- 选择 Standard(标准)。
- 确保勾选 "Enable containerization"(启用容器化)。
- 选择 Container type:
- Windows Containers:运行 Windows 原生容器(如 IIS, .NET Framework 应用)。
- Linux Containers:运行 Linux 容器(需要先安装 WSL2 后端或 Hyper-V 隔离)。
- 注:Windows Server 2019/2022 默认支持这两种模式,根据需求切换即可。
- 完成安装后,系统会提示重启。
3. 配置与验证
安装完成后,打开 PowerShell 验证:
# 检查服务状态
Get-Service docker
# 查看版本
docker --version
# 测试运行
docker run hello-world
常见问题与注意事项
- Hyper-V 依赖:Windows Server 必须启用 Hyper-V 角色才能运行 Docker。如果未启用,安装脚本通常会提示你安装。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart - 网络问题:在我国大陆地区,拉取 Docker Hub 镜像可能会超时。建议在安装前配置国内镜像提速器(如阿里云、腾讯云、DaoCloud 等),修改
C:ProgramDatadockerconfigdaemon.json文件添加registry-mirrors字段。 - 资源限制:Docker Desktop 包含图形界面和后台进程,对服务器资源有一定消耗。如果是高负载的生产服务器,建议优先使用 Docker Engine 的无头模式(Headless),避免不必要的 GUI 开销。
- 权限问题:运行
docker命令通常需要管理员权限,或者将当前用户添加到docker-users组(不推荐在生产环境随意开放权限)。
总结
对于 Windows Server,首选方案是使用 PowerShell 脚本一键安装 Docker Engine,因为它自动化程度高且针对服务器环境优化。如果脚本不可用,则下载官方的 MSI 安装包进行手动安装,并根据业务需求选择 Windows 或 Linux 容器模式。
轻量云Cloud