windows server2022搭建docker?

在 Windows Server 2022 上搭建 Docker,最推荐且官方支持的方式是使用 Docker Desktop for Windows(基于 WSL 2 后端)或 Docker Engine (Standalone)

由于 Windows Server 2022 是服务器环境,通常建议根据具体需求选择:

  • 场景 A:开发测试、轻量级部署 -> 使用 Docker Desktop(界面友好,配置简单)。
  • 场景 B:生产环境、无 GUI 服务器、追求极致性能 -> 使用 Docker Engine (Standalone)(命令行安装,资源占用更低)。

以下是两种主流方案的详细步骤:


前置准备(通用)

无论选择哪种方案,都需要确保系统满足以下条件:

  1. 开启虚拟化:进入 BIOS/UEFI 确保 VT-x / AMD-V 已开启。
  2. 启用容器功能
    • 打开 PowerShell(管理员),运行以下命令安装必要的角色和工具:
      Install-WindowsFeature -Name Containers -IncludeManagementTools
    • 重启服务器以生效。

方案一:使用 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 后端,性能更好。

  1. 打开 PowerShell(管理员),确认 WSL 2 是否安装:
    wsl --list --verbose
    # 如果没有 Ubuntu 等发行版,先安装一个:
    wsl --install -d Ubuntu
  2. 将 WSL 2 设为默认:
    wsl --set-default-version 2
  3. 启动 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"
# 注意:如果上述脚本无法直接运行,建议使用以下标准离线安装流程:

更稳妥的离线/手动安装步骤:

  1. 下载 MSI 安装包
    前往 Docker Hub Releases 或 Docker 官方文档 找到对应的 docker-ce-*.msi 文件。
    (注:Server 2022 通常需要下载 Community Edition)

  2. 安装服务
    双击 .msi 文件进行安装,勾选 "Install Docker Engine"。

  3. 配置镜像源(可选但推荐)
    国内用户通常需要配置提速镜像源,否则拉取镜像极慢。

    • 创建或编辑文件:C:ProgramDatadockerconfigdaemon.json
    • 内容如下(替换为你自己的提速器地址,如阿里云、腾讯云等):
      {
        "registry-mirrors": [
          "https://docker.m.daocloud.io",
          "https://huecker.io"
        ]
      }
    • 重启 Docker 服务:
      Restart-Service docker

3. 验证安装

docker version
docker run hello-world

常见问题与注意事项

  1. 网络问题
    Windows Server 2022 默认防火墙可能会阻止 Docker 的网络通信。如果遇到容器无法上网或无法连接宿主机,请在防火墙高级设置中放行 docker.execom.docker.service

  2. 权限问题
    在 Server 环境下,建议将当前用户加入 docker-users 组(如果在安装时未自动创建),或者始终使用管理员权限运行 PowerShell。

    net localgroup docker-users <你的用户名> /add
  3. 内核兼容性
    某些旧版本的 Docker 引擎可能不支持最新的 Windows Server 2022 内核特性。如果遇到问题,请确保安装的 Docker Engine 版本在 20.10 以上,或者直接升级到最新稳定版。

  4. WSL 2 vs Hyper-V

    • WSL 2:资源占用低,启动快,是目前的首选。
    • Hyper-V:在某些老旧硬件或特定隔离要求下可能需要,但在 Server 2022 上通常不如 WSL 2 高效。

总结

  • 如果是快速验证或开发,请直接使用 Docker Desktop
  • 如果是正式生产环境,建议下载 Docker Engine MSI 进行静默安装,并配置好国内镜像提速源。

安装完成后,你可以通过 docker ps 查看运行中的容器,开始构建你的应用了。

未经允许不得转载:CLOUD技术博 » windows server2022搭建docker?