奋斗
努力

windows server 2022 docker安装?

云计算

在 Windows Server 2022 上安装 Docker,通常有两种主要方式:使用官方 MSI 安装包(推荐,适合生产环境)和 使用 PowerShell 脚本自动安装。

Windows Server 2022 默认支持两种容器运行时:Moby (Hyper-V) 和 Docker Desktop (WSL2)。但在服务器场景下,我们通常直接使用 Docker Engine for Windows(即通过 MSI 安装的版本),它直接运行在 Hyper-V 或 Container 模式下,性能更好且无需 WSL2 依赖。

以下是详细的操作步骤:

前置条件检查

在安装之前,请确保您的服务器满足以下要求:

  1. 操作系统:必须是 Windows Server 2022(Standard 或 Datacenter 版)。
  2. 功能开启:必须启用“容器”功能。
  3. 内存:建议至少 4GB RAM(取决于运行容器的数量)。
  4. 网络:确保服务器能访问互联网以下载镜像。

方法一:使用官方 MSI 安装包(推荐)

这是最稳定、最适合生产环境的安装方式。

1. 开启必要的系统功能

打开 PowerShell(以管理员身份运行),执行以下命令来启用容器支持:

Enable-WindowsOptionalFeature -Online -FeatureName Containers-DisposableClientVM -All

注意:如果提示需要重启,请先不要重启,继续执行后续步骤,或者根据提示操作。

同时,建议确认是否启用了 Microsoft-Hyper-V(虽然 Docker 可以独立运行,但作为基础环境通常建议开启):

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

2. 下载 Docker Engine

前往 Docker 官方 GitHub 发布页下载适用于 Windows Server 2022 的 MSI 安装包。

  • 下载地址:Docker Engine for Windows Releases
  • 找到对应 docker-engine 的最新版本(例如 docker-<version>.msi)。
    • 注:微软维护的 Windows 容器版本通常在 microsoft/windows-containers 仓库中,而通用 Docker 引擎在 moby/moby 或 docker/docker-ce 的 Windows 部分。对于 Server 2022,推荐使用微软官方构建的 Docker Engine for Windows (基于 Moby)。
    • 更直接的链接通常是:Docker CE Stable Release for Windows (注意:这个通常指 Docker Desktop)。
    • 重要区分:如果您需要的是无 GUI 的服务器版 Docker Engine,请访问 Microsoft Container Registry 或直接搜索 "Docker Engine for Windows Server"。
    • 最通用的方案:目前微软推荐直接在服务器上安装 Docker Desktop(用于开发测试)或者使用 Docker EE (已整合进 Docker Hub)。
    • 针对 Server 2022 的标准做法:下载并运行 Docker-For-Windows.msi (如果是 Docker Desktop) 或者使用 PowerShell 脚本安装 Docker Engine。

修正策略:为了最稳妥地获得轻量级 Docker Engine(非 Desktop),建议使用 Docker Compose 和 Docker CLI 配合 Containerd,或者直接安装 Docker Desktop for Windows(它在后台会自动配置好 Engine)。

最简单且通用的安装路径(Docker Desktop):

  1. 下载 Docker Desktop Installer.exe (从 docker.com)。
  2. 双击运行,选择 "Use the WSL 2 based engine" (如果需要 Linux 容器) 或 "Use Hyper-V containers" (如果需要 Windows 容器)。
  3. 安装完成后重启电脑。

如果您坚持要纯命令行版的 Docker Engine (Moby):
由于微软不再单独提供旧版 .msi 给普通用户下载,现在推荐使用 Chocolatey 包管理器或 PowerShell 脚本 来一键安装。

3. 使用 Chocolatey 安装 (最快方式)

如果您的服务器安装了 Chocolatey (choco),只需一行命令:

# 先确保 choco 已安装,如果没有则需先安装 choco
# 然后执行以下命令安装 Docker Engine
choco install docker-desktop --params '"/EnableWSL2"' -y

注意:docker-desktop 包实际上会安装 Docker Engine + CLI + Compose。

4. 验证安装

安装完成后,打开新的 PowerShell 窗口,输入:

docker --version
docker info

如果显示版本号且没有报错,说明安装成功。


方法二:使用 PowerShell 脚本自动安装 (官方推荐脚本)

微软提供了一个官方的 PowerShell 脚本,可以自动处理所有依赖项、下载二进制文件并配置服务。

  1. 以管理员身份打开 PowerShell。
  2. 复制以下脚本并粘贴执行:
# 获取安装脚本内容
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Microsoft/Windows-Containers/main/tools/install.ps1 -OutFile install.ps1

# 执行安装脚本 (参数解释:-Version 指定版本,-Edition 指定 Edition)
# 如果不指定 Version,将安装最新版
.install.ps1 -Version latest -Edition windows

# 等待安装完成

注意:上述脚本是示例逻辑,具体脚本地址可能随时间变化。最权威的脚本通常位于微软的 GitHub 仓库 microsoft/Windows-Containers 下的 tools 目录。

更推荐的官方脚本命令(针对 Windows Server):

# 1. 启用容器功能
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers-DisposableClientVM -All

# 2. 重启服务器 (必须)
Restart-Computer -Force

(重启后重新登录,继续下一步)

# 3. 下载并运行 Docker 安装脚本 (从官方 GitHub)
$url = "https://raw.githubusercontent.com/microsoft/Windows-Containers/main/tools/install.ps1"
$i = Invoke-WebRequest -Uri $url -UseBasicParsing
Set-Content -Path "install.ps1" -Value $i.Content

# 4. 运行安装 (假设安装最新版的 Windows 容器引擎)
.install.ps1 -Version latest -Edition windows

常见问题与注意事项

  1. Windows 容器 vs Linux 容器:

    • Windows 容器:镜像名称类似 mcr.microsoft.com/dotnet/framework/aspnet:4.8。它们共享宿主机的内核,性能最好,但只能运行在 Windows 宿主机上。
    • Linux 容器:镜像名称类似 nginx:latest。需要在 Docker 设置中切换到 Switch to Linux containers 模式(通常需要 WSL2 后端支持)。
    • 切换方法:右键任务栏 Docker 图标 -> Settings -> General -> 勾选 "Use WSL 2 based engine"。
  2. 权限问题:
    如果在运行 docker run 时遇到 Access Denied 错误,请确保当前用户属于 docker-users 组,或者以管理员身份运行 PowerShell。

  3. 防火墙:
    如果无法拉取镜像,请检查 Windows 防火墙是否阻止了出站连接,或者配置了X_X服务器。可以在 C:ProgramDatadockerconfigdaemon.json 中添加X_X配置。

总结

对于 Windows Server 2022:

  1. 如果是开发/测试环境:直接下载安装 Docker Desktop for Windows,体验最好,支持 Linux 和 Windows 容器切换。
  2. 如果是生产/精简环境:建议使用 Chocolatey 安装 docker-desktop 或手动部署 Docker Engine (Moby),并确保开启了 Containers 功能特性。

安装完成后,请务必运行 docker run hello-world 进行最终验证。

未经允许不得转载:云服务器 » windows server 2022 docker安装?