在 Windows Server 2022 上搭建 Docker,最推荐且官方支持的方式是使用 Docker Desktop for Windows(基于 WSL 2 后端)或 Docker Engine (Standalone)。
由于 Windows Server 2022 是服务器环境,通常建议根据具体需求选择:
- 场景 A:开发测试、轻量级部署 -> 使用 Docker Desktop(界面友好,配置简单)。
- 场景 B:生产环境、无 GUI 服务器、追求极致性能 -> 使用 Docker Engine (Standalone)(命令行安装,资源占用更低)。
以下是两种主流方案的详细步骤:
前置准备(通用)
无论选择哪种方案,都需要确保系统满足以下条件:
- 开启虚拟化:进入 BIOS/UEFI 确保 VT-x / AMD-V 已开启。
- 启用容器功能:
- 打开 PowerShell(管理员),运行以下命令安装必要的角色和工具:
Install-WindowsFeature -Name Containers -IncludeManagementTools - 重启服务器以生效。
- 打开 PowerShell(管理员),运行以下命令安装必要的角色和工具:
方案一:使用 Docker Desktop for Windows(推荐用于开发/混合环境)
这是最简单的上手方式,它会自动处理底层依赖(如 Hyper-V 或 WSL 2)。
1. 下载与安装
- 访问 Docker 官网下载页。
- 下载 Windows Server 2022 版本的安装包(注意:Docker Desktop 对 Server 版本的支持可能需特定渠道,如果官网直接下载受限,可尝试使用
docker-desktop-<version>.exe)。 - 注意:Docker Desktop 免费版仅限个人学习和小型商业团队,企业大规模商用请查看许可协议。
2. 配置 WSL 2 后端(关键步骤)
Docker Desktop 默认推荐使用 WSL 2 后端,性能更好。
- 打开 PowerShell(管理员),确认 WSL 2 是否安装:
wsl --list --verbose # 如果没有 Ubuntu 等发行版,先安装一个: wsl --install -d Ubuntu - 将 WSL 2 设为默认:
wsl --set-default-version 2 - 启动 Docker Desktop,首次运行时它会提示配置 WSL 2 集成,点击"Use the WSL 2 based engine"并允许更改。
3. 验证安装
启动 Docker Desktop 图标,等待状态栏显示 "Docker Desktop is running"。
在 PowerShell 中运行:
docker run hello-world
如果出现欢迎信息,说明安装成功。
方案二:使用 Docker Engine Standalone(推荐用于纯生产环境)
如果你不需要图形界面,或者在 Headless(无显示器)的服务器上运行,直接使用离线包或脚本安装更稳定。
1. 获取安装文件
Docker 官方不再提供直接的 .msi 下载链接给所有用户,通常通过以下方式:
- 方法 A(在线安装脚本):使用官方提供的安装脚本(需要能联网)。
- 方法 B(离线包):从 GitHub Release 页面下载对应版本的
.zip或.msi包(例如docker-24.0.x.zip),上传到服务器解压。
这里演示在线安装脚本方式(最简单):
2. 执行安装脚本
在 PowerShell(管理员)中运行以下命令(会自动检测架构并安装最新版):
# 设置环境变量以便后续使用
$env:Path = $env:Path + ";C:Program FilesDocker"
# 下载并运行安装脚本
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/microsoft/winget-pkgs/master/src/Docker/DockerEngine/Install-Docker.ps1" -OutFile "Install-Docker.ps1"
# 注意:如果上述脚本无法直接运行,建议使用以下标准离线安装流程:
更稳妥的离线/手动安装步骤:
-
下载 MSI 安装包:
前往 Docker Hub Releases 或 Docker 官方文档 找到对应的docker-ce-*.msi文件。
(注:Server 2022 通常需要下载 Community Edition) -
安装服务:
双击.msi文件进行安装,勾选 "Install Docker Engine"。 -
配置镜像源(可选但推荐):
国内用户通常需要配置提速镜像源,否则拉取镜像极慢。- 创建或编辑文件:
C:ProgramDatadockerconfigdaemon.json - 内容如下(替换为你自己的提速器地址,如阿里云、腾讯云等):
{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io" ] } - 重启 Docker 服务:
Restart-Service docker
- 创建或编辑文件:
3. 验证安装
docker version
docker run hello-world
常见问题与注意事项
-
网络问题:
Windows Server 2022 默认防火墙可能会阻止 Docker 的网络通信。如果遇到容器无法上网或无法连接宿主机,请在防火墙高级设置中放行docker.exe和com.docker.service。 -
权限问题:
在 Server 环境下,建议将当前用户加入docker-users组(如果在安装时未自动创建),或者始终使用管理员权限运行 PowerShell。net localgroup docker-users <你的用户名> /add -
内核兼容性:
某些旧版本的 Docker 引擎可能不支持最新的 Windows Server 2022 内核特性。如果遇到问题,请确保安装的 Docker Engine 版本在 20.10 以上,或者直接升级到最新稳定版。 -
WSL 2 vs Hyper-V:
- WSL 2:资源占用低,启动快,是目前的首选。
- Hyper-V:在某些老旧硬件或特定隔离要求下可能需要,但在 Server 2022 上通常不如 WSL 2 高效。
总结
- 如果是快速验证或开发,请直接使用 Docker Desktop。
- 如果是正式生产环境,建议下载 Docker Engine MSI 进行静默安装,并配置好国内镜像提速源。
安装完成后,你可以通过 docker ps 查看运行中的容器,开始构建你的应用了。
CLOUD技术博