windows server2022安装docker和docker-compose?

在 Windows Server 2022 上安装 Docker 和 Docker Compose,最推荐且稳定的方式是使用 Docker Desktop for Windows(企业版/服务器版场景)或手动安装 Docker Engine

由于 Windows Server 2022 默认不支持 Linux 容器(Linux Containers),必须先启用“容器”功能并切换为 Linux 模式。以下是两种主流方案的详细步骤:


前置准备:启用容器功能

无论选择哪种方案,首先需要在操作系统层面启用容器支持。

  1. 打开 PowerShell (管理员)
  2. 运行以下命令启用容器功能(如果已启用可跳过):
    Install-WindowsFeature -Name containers -IncludeManagementTools
  3. 重启服务器以使更改生效。
  4. 重启后,再次以管理员身份打开 PowerShell,运行以下命令将 Docker 后端切换为 Linux 模式(Windows Server 通常用于运行 Linux 容器镜像):
    docker version
    # 如果提示需要设置后端,请执行:
    Set-ContainerEngine -Backend "Moby" -Mode "Linux"

    注意:如果是为了运行 Windows 容器,则保持默认的 Windows 模式即可。


方案一:使用 Docker Desktop(推荐,含图形界面)

这是最简单的方法,它会自动安装 Docker Engine、CLI 以及 Docker Compose V2(集成在引擎中)。

1. 下载与安装

  1. 访问 Docker Desktop 官方下载页。
  2. 下载适用于 Windows 的 .exe 安装包(注意:需确认你的 Server 版本是否支持,通常 Server 2022 支持,但需确保安装了 .NET Framework 等依赖)。
  3. 运行安装程序,按照向导完成安装。
  4. 安装完成后,启动 Docker Desktop。
  5. 在界面右下角点击齿轮图标(Settings),确保 Use containerd for scanning and storing images 已勾选(可选),然后点击 Apply & Restart

2. 验证安装

打开 PowerShell,输入以下命令:

docker --version
docker compose version

注:Docker Desktop v20.10+ 版本中,docker-compose 命令已废弃,统一使用 docker compose(注意没有连字符)。


方案二:手动安装 Docker Engine + Compose(无 GUI,适合生产环境)

如果你不需要图形界面,或者 Docker Desktop 授权受限,可以使用脚本手动安装。

1. 安装 Docker Engine

在管理员 PowerShell 中运行微软官方的自动化安装脚本:

# 获取安装脚本
Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/microsoft/winget-pkgs/master/src/Microsoft/Docker/docker-installer.ps1 -OutFile docker-installer.ps1

# 执行安装(自动检测并安装最新版)
.docker-installer.ps1 -AcceptLicense

如果上述脚本无法运行,也可以直接下载 MSI 安装包:

  1. 访问 Docker CE 稳定版页面。
  2. 下载 docker-ce.msidocker-compose.exe
  3. 双击 docker-ce.msi 进行安装。

2. 安装 Docker Compose

Docker Engine 安装后通常不包含独立的 docker-compose.exe(旧版),新版推荐使用集成的插件方式。

方法 A:使用集成插件(推荐)
Docker Desktop 和较新的 Docker Engine 版本通常内置了 Compose 插件。
在 PowerShell 中测试:

docker compose version

如果显示版本号,说明已成功。如果没有,尝试手动安装插件:

Install-Plugin -Name compose

(注:如果未安装该模块,可能需要先安装 Docker CLI 插件管理器)

方法 B:手动下载二进制文件(兼容旧版习惯)
如果必须使用旧的 docker-compose.exe 命令:

  1. 从 GitHub Release 下载最新版的 docker-compose-windows-x86_64.exe
  2. 将其重命名为 docker-compose.exe
  3. 将其移动到 Docker 的 bin 目录(例如 C:Program FilesDockerbin),或者直接添加到系统环境变量 PATH 中。

常见问题排查

  1. 报错 "The system cannot find the file specified" 或 "No such image"

    • 原因:后端模式未正确设置为 Linux。
    • 解决:确保执行了 Set-ContainerEngine -Mode "Linux" 并重启了服务。
  2. 权限问题

    • 确保你始终以 Administrator 身份运行 PowerShell。
  3. WSL 2 依赖

    • Docker Desktop 在 Windows Server 上依赖于 WSL 2 后端。请确保已安装 WSL 2 内核更新:
      wsl --update
      wsl --set-default-version 2

总结建议

场景 推荐方案 理由
开发/测试环境 Docker Desktop 开箱即用,自带 GUI,管理方便,自动处理 Compose。
生产环境/无头服务器 Docker Engine (手动) 资源占用更少,无图形界面依赖,更易于通过脚本部署。

安装完成后,建议运行一个测试容器来验证一切正常:

docker run hello-world
未经允许不得转载:云知识CLOUD » windows server2022安装docker和docker-compose?