windows server安装docker和docker-compose?

Windows Server 上安装 Docker 和 Docker Compose,需要根据你使用的 Windows Server 版本(如 2016、2019、2022)和需求选择合适的方式。目前,Docker 官方推荐在 Windows Server 上使用 Docker Desktop独立的 Moby/Docker 引擎 + Docker CLI + Docker Compose 插件

不过请注意:

  • Docker Desktop for Windows 主要面向开发环境(Windows 10/11 和 Windows Server 可用,但需满足条件)。
  • 在生产环境中,更推荐使用 Microsoft 提供的容器支持 + 社区版 Docker 引擎(Moby)或直接使用 Microsoft 的容器运行时(如 containerd)配合 Kubernetes

✅ 推荐方式:使用 Microsoft 官方支持的 Docker Engine(适用于 Windows Server 2016/2019/2022)

步骤 1:启用容器功能

以管理员身份打开 PowerShell 并运行:

# 安装容器功能
Install-WindowsFeature -Name Containers

# 重启服务器
Restart-Computer -Force

步骤 2:安装 Docker Engine(Moby 项目构建的引擎)

注意:Docker 公司不再官方维护 docker/engine 对 Windows 的支持。现在推荐从 Microsoft 维护的仓库安装。

方法一:使用 Microsoft 提供的脚本安装(推荐)

# 下载 Microsoft 的 Docker 安装脚本
Invoke-WebRequest "https://github.com/microsoft/Windows-Containers/raw/main/Artifacts/Install-DockerEngine.ps1" -UseBasicParsing -OutFile "Install-DockerEngine.ps1"

# 执行安装
.Install-DockerEngine.ps1

这个脚本会自动:

  • 检查系统版本
  • 下载并安装最新兼容版本的 Docker Engine(基于 Moby)
  • 配置服务并启动

安装完成后,Docker 服务会自动运行。

验证是否成功:

docker --version
docker run hello-world:nanoserver

注意:Windows 容器镜像必须与主机系统版本兼容(例如 Server 2019 镜像不能运行在 2016 上)。


步骤 3:安装 Docker Compose

方式 1:安装 Docker Compose V2(作为插件,推荐)

Docker Compose 现在是 docker compose 子命令(注意中间是空格),而不是旧的 docker-compose(v1)。

下载 docker-compose 插件二进制文件到 Docker CLI 插件目录:

# 创建插件目录(如果不存在)
$plugins = "$env:ProgramDataDockercli-plugins"
if (!(Test-Path $plugins)) { New-Item -ItemType Directory -Path $plugins }

# 下载 docker-compose 插件(替换 x.x.x 为最新版本号)
Invoke-WebRequest `
  -Uri "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe" `
  -UseBasicParsing `
  -OutFile "$pluginsdocker-compose.exe"

验证:

docker compose version

你应该看到输出类似:

Docker Compose version v2.27.0

方式 2:手动安装旧版 docker-compose(不推荐)

如果你仍想使用 docker-compose 命令(v1),可以这样安装:

Invoke-WebRequest `
  -Uri "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe" `
  -UseBasicParsing `
  -OutFile "$env:ProgramFilesdockerdocker-compose.exe"

然后就可以使用:

docker-compose --version

⚠️ 注意:docker-compose(v1)已废弃,建议迁移到 docker compose(v2)。


✅ 可选:使用 Docker Desktop(仅限特定场景)

Docker Desktop 支持 Windows Server 2019 和 2022,但要求:

  • 必须启用 WSL2 或 Hyper-V
  • 是 64-bit 系统
  • 启用了虚拟化

安装步骤:

  1. 下载 Docker Desktop Installer
  2. 运行安装程序(需要 GUI 环境)
  3. 安装后重启

适合开发测试环境,不适合无图形界面的纯服务器部署。


🔧 常见问题

❌ 错误:no matching manifest for windows/amd64

原因:拉取了 Linux 镜像而非 Windows 容器镜像。

解决方法:

  • 使用 Windows 基础镜像,如:
    docker run mcr.microsoft.com/windows/nanoserver:ltsc2022
  • 确保 Docker 切换到了 Windows 容器模式

切换容器模式(PowerShell):

& $Env:ProgramFilesDockerdocker.exe switch-linux
& $Env:ProgramFilesDockerdocker.exe switch-windows

注意:Docker Desktop 可右键托盘图标切换;传统引擎需确保配置正确。


✅ 总结:推荐方案

目标 推荐方式
生产环境(无 GUI) 使用 Install-DockerEngine.ps1 脚本安装 Docker 引擎 + 安装 docker compose 插件
开发/测试环境(有桌面) 安装 Docker Desktop
编排需求 使用 docker compose 运行多容器应用

📚 参考文档

  • https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=dotnet
  • https://github.com/microsoft/Windows-Containers
  • https://docs.docker.com/compose/install/

如有具体版本(如 Windows Server 2019 数据中心版),可提供更详细指导。欢迎补充你的环境信息!

未经允许不得转载:CLOUD技术博 » windows server安装docker和docker-compose?