在 Windows Server 2022 上搭建 Docker 主要有两种主流方式:使用 Docker Desktop(适用于开发/测试) 或 Docker Engine(适用于生产环境,推荐)。
由于 Windows Server 通常作为服务器运行,强烈建议使用 Docker Engine,因为它更轻量、资源占用更少且没有 Docker Desktop 的许可限制(Docker Desktop 在商业环境中需要付费授权)。
以下是基于 Docker Engine 的详细部署步骤:
前置条件检查
- 操作系统版本:确保是 Windows Server 2022(建议安装最新的功能更新)。
- 虚拟化支持:确认 BIOS/UEFI 中已开启虚拟化技术(VT-x/AMD-V),并在设备管理器中确认“Hyper-V"相关功能正常。
- 网络配置:确保服务器有稳定的网络连接以拉取镜像。
第一步:启用必要的 Windows 功能
Docker 依赖 Hyper-V 容器后端。你需要通过 PowerShell 启用相关功能。请以 管理员身份 运行 PowerShell,执行以下命令:
# 启用 Hyper-V 和 Containers 功能
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
# 重启服务器(必须)
Restart-Computer
注意:如果提示需要重启,请等待系统重启完成后再继续下一步。
第二步:下载并安装 Docker Engine
Windows Server 2022 推荐使用官方提供的 MSI 安装包进行安装。
-
下载安装包:
访问 Docker 官方发布页面(GitHub Releases):
https://github.com/docker/docker-win/releases- 找到最新版本(例如
docker-24.0.x.msi或更新的版本号)。 - 下载文件名类似
docker-<version>.msi的安装程序。
- 找到最新版本(例如
-
执行安装:
双击下载的.msi文件,按照向导点击 "Next" 直到完成。关键点:在安装过程中,如果询问是否允许 Docker 自动启动服务,建议选择 Yes。
如果是命令行安装,可以使用以下命令静默安装:msiexec /i docker-<version>.msi /qn
第三步:验证安装与配置
安装完成后,打开一个新的 PowerShell 窗口(无需重启,但需确保服务已启动),输入以下命令检查版本:
docker --version
docker info
如果能看到版本号且 docker info 输出包含 Server Version: 24.x.x 等信息,说明安装成功。
配置镜像提速器(可选但强烈推荐)
由于国内网络环境,直接拉取 Docker Hub 镜像可能会超时。建议配置阿里云或其他提速源。
- 停止 Docker 服务:
Stop-Service docker - 编辑配置文件
C:ProgramDatadockerconfigdaemon.json。- 如果文件不存在,请手动创建该文件。
- 添加以下内容(以阿里云为例,请替换为你自己的提速器地址):
{ "registry-mirrors": ["https://your-id.mirror.aliyuncs.com"] }
- 重新启动服务:
Start-Service docker
第四步:运行第一个容器
为了验证一切正常,尝试运行一个经典的 Nginx 容器:
docker run -d -p 80:80 --name web-server nginx
-d: 后台运行。-p 80:80: 将宿主机的 80 端口映射到容器的 80 端口。nginx: 使用的镜像名称。
验证方法:
在浏览器中输入服务器的 IP 地址(如 http://192.168.1.100),如果看到 "Welcome to nginx!" 页面,则说明 Docker 已成功运行。
常见问题与注意事项
-
关于 Docker Desktop vs Docker Engine:
- 如果你是在开发测试机上,且需要图形界面管理,可以使用 Docker Desktop for Windows。但在 Windows Server 2022 的生产环境中,Docker Desktop 可能因授权问题受限,且资源开销较大。
- 生产环境首选 Docker Engine(即上述步骤)。
-
防火墙设置:
如果无法从外部访问容器端口(如 80, 443),请检查 Windows 防火墙规则,确保相应端口已放行。 -
WSL2 模式:
Windows Server 2022 默认使用 Hyper-V 容器后端。虽然它支持 WSL2 后端,但在 Server 版上配置 WSL2 较为复杂且非标准做法,除非你有特殊需求,否则保持默认的 Hyper-V 后端即可。 -
权限问题:
如果在运行docker命令时提示权限不足,请确保你使用的是 Administrator 账户,或者将当前用户添加到docker-users组(较少见,通常管理员组即可)。
通过以上步骤,你的 Windows Server 2022 就已经成功搭建了 Docker 运行环境,可以开始部署应用了。
CLOUD云计算