在 Windows Server 2022 上安装 Docker,主要取决于你希望运行 Windows 容器还是 Linux 容器。
- Windows 容器:需要安装
Docker Desktop(需启用 Hyper-V)或Docker Engine。 - Linux 容器:必须先启用“容器”功能并安装 WSL 2 (Windows Subsystem for Linux) 内核,然后才能通过 Docker Desktop 运行 Linux 镜像。这是目前最主流的生产环境部署方式。
以下是针对 Windows Server 2022 安装 Docker Desktop(支持 Linux 容器) 的标准步骤:
第一步:启用必要的系统功能
Windows Server 默认没有开启容器相关功能,需要先通过 PowerShell 启用。请以管理员身份运行 PowerShell:
# 1. 启用容器功能
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
# 2. 启用虚拟机平台 (用于 WSL 2)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -All
# 3. 启用适用于 Linux 的 Windows 子系统 (WSL)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -All
# 4. 重启服务器以应用更改
Restart-Computer
注意:重启后,系统会自动加载 WSL 2 内核更新(如果尚未安装)。建议去微软官网下载最新的 WSL 2 内核更新包手动安装,或者确保系统已更新至最新补丁。
第二步:安装 Docker Desktop
Windows Server 2022 推荐使用 Docker Desktop,因为它集成了 WSL 2 后端,能更好地管理 Linux 和 Windows 容器。
-
下载安装包:
访问 Docker Hub 或 Docker 官方文档 下载Docker Desktop Installer.exe。- 注意:请确保下载的是支持 Windows Server 的版本(通常最新版都支持)。
-
执行安装:
双击运行安装程序,按照向导操作。- 在安装选项页面,务必勾选 "Use WSL 2 instead of Hyper-V"(使用 WSL 2 而不是 Hyper-V),这能获得更好的性能和兼容性。
- 勾选 "Run Docker Desktop when I log in"(可选)。
-
完成安装并重启:
安装完成后,根据提示重启计算机。
第三步:验证安装
重启后,打开一个新的 PowerShell 窗口(无需管理员权限),输入以下命令检查版本:
docker --version
docker run hello-world
如果看到 Hello from Docker! 的输出信息,说明安装成功且 WSL 2 后端工作正常。
第四步:配置生产环境(可选但推荐)
如果你是在生产环境中使用,可能需要调整 Docker 的配置以提高稳定性或安全性:
-
修改镜像源(国内用户):
编辑%ProgramData%dockerconfigdaemon.json文件(如果不存在则新建),添加阿里云或腾讯云等提速地址:{ "registry-mirrors": [ "https://<你的提速地址>.mirror.aliyuncs.com" ] }修改后重启 Docker 服务:
Restart-Service docker。 -
设置启动项:
确保 Docker Desktop 随系统启动(在 Docker Desktop 设置中确认 "Start Docker Desktop when you log in" 已勾选)。
常见问题排查
- 错误:WSL 2 未启用
如果在运行docker run时报错,请再次确认是否安装了 WSL 2 内核更新。可以在 PowerShell 中运行wsl --list --verbose查看状态。 - 内存不足
Docker Desktop 默认会占用较多内存。可以在 Docker Desktop 的设置 -> Resources -> Advanced 中限制 CPU 和内存的使用量,防止影响其他服务器业务。 - Hyper-V 冲突
如果你选择了 WSL 2 模式,Docker 将不再依赖传统的 Hyper-V 虚拟机架构,而是利用 WSL 2 轻量级虚拟机,这通常能解决旧版 Hyper-V 兼容性问题。
通过以上步骤,你就可以在 Windows Server 2022 上成功运行 Docker 了。如果需要纯 Windows 容器而不涉及 Linux 镜像,也可以直接使用 Install-DockerEngine 脚本,但在混合环境中,上述 WSL 2 + Docker Desktop 方案是最佳实践。
CLOUD技术博