奋斗
努力

windows server2022安装docker和docker-compose?

云计算

在 Windows Server 2022 上安装 Docker 和 Docker Compose,目前最推荐且官方支持的方式是使用 Docker Desktop for Windows。虽然它通常用于桌面版 Windows,但它也完全兼容 Windows Server 2022(需开启相应的 Hyper-V 功能)。

以下是详细的操作步骤:

前置条件检查

在开始之前,请确保你的 Windows Server 2022 满足以下要求:

  1. 操作系统版本:必须是 Windows Server 2022 标准版或数据中心版。
  2. 虚拟化支持:必须启用 Hyper-V 功能。Docker Desktop 依赖 Hyper-V 来运行 Linux 容器。
  3. 内存与 CPU:建议至少 4GB RAM 和 2 核 CPU(生产环境建议更高)。
  4. 网络:确保服务器能访问互联网以下载组件。

第一步:启用 Hyper-V 功能

Docker Desktop 需要 Hyper-V 作为后端引擎。你可以通过 PowerShell 快速启用它。

  1. 管理员身份 打开 PowerShell。
  2. 运行以下命令启用 Hyper-V 及其相关组件(如果尚未安装):
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -All -NoRestart
  3. 安装完成后,重启服务器以使更改生效。

注意:如果你使用的是 Azure 或其他云服务商的虚拟机,请确认该实例类型支持嵌套虚拟化(Nested Virtualization),否则 Docker Desktop 可能无法启动。


第二步:安装 Docker Desktop

Windows Server 2022 上没有独立的 docker-ce 包管理器(如 Linux 那样),而是通过 Docker Desktop 安装包集成。

  1. 下载镜像
    前往 Docker 官网下载页面:https://www.docker.com/products/docker-desktop/

    • 点击 "Download Docker Desktop"。
    • 选择 "Windows (Hyper-V)" 版本(不要选 WSL 2 版本,除非你已配置好 WSL 子系统,但在 Server 上 Hyper-V 模式更稳定)。
    • 接受许可协议并下载安装程序 (DockerDesktopInstaller.exe)。
  2. 执行安装

    • 双击运行安装程序。
    • 在安装向导中,确保勾选 "Use WSL 2 instead of Hyper-V" 选项(如果你的系统已安装 WSL 2 且配置良好,可选;但为了兼容性,通常保持默认的 Hyper-V 模式即可,或者根据提示操作)。
    • 重要:安装过程中会要求重启计算机,请务必保存工作并重启。
  3. 首次启动

    • 重启后,Docker Desktop 会自动启动(可能会在后台初始化)。
    • 点击任务栏右下角的 Docker 图标,等待状态变为绿色(Running)。
    • 首次启动时,它会自动下载基础镜像并配置网络。

第三步:验证安装

打开 PowerShell 或 CMD,输入以下命令检查版本:

docker --version
docker-compose version
  • 关于 docker-compose
    较新版本的 Docker Desktop (v20.10+) 已经将 docker-compose 集成到了 Docker CLI 中。

    • 尝试运行 docker compose version(注意中间没有连字符)。
    • 如果显示版本号,说明集成成功。
    • 如果你习惯使用旧命令 docker-compose,Docker Desktop 通常会自动提供兼容脚本,或者你可以手动下载独立的可执行文件(见下文备选方案)。

第四步:配置 Docker Compose (如果需要独立二进制文件)

虽然推荐使用 docker compose (新版语法),但如果你必须使用旧的 docker-compose.exe 命令,可以手动安装:

  1. 下载最新版本的 docker-compose-windows-x86_64.exe(从 GitHub Release 页面:https://github.com/docker/compose/releases)。
  2. 将下载的文件重命名为 docker-compose.exe
  3. 将其移动到 C:Program FilesDocker 目录下(或者添加到系统 PATH 环境变量中)。
  4. 验证:
    docker-compose version

常见问题与注意事项

  1. 权限问题
    在 Windows Server 上,Docker 默认以当前用户上下文运行。如果遇到权限拒绝错误,请确保以管理员身份运行 PowerShell 或命令行。

  2. WSL 2 vs Hyper-V
    Docker Desktop 现在默认倾向于使用 WSL 2 后端,性能更好且资源占用更低。如果你的 Server 2022 安装了 WSL 2 子系统(wsl --install),可以在 Docker Desktop 的设置中切换为 WSL 2 模式,这通常比纯 Hyper-V 模式更流畅。

    • 切换方法:打开 Docker Desktop -> Settings (齿轮图标) -> General -> 勾选 "Use the WSL 2 based engine"。
  3. 防火墙
    如果 Docker 容器无法访问外部网络,请检查 Windows 防火墙规则,确保允许 docker0 网桥或相关端口通信。

  4. 生产环境建议
    Docker Desktop 是免费用于开发和测试的。如果在生产环境中运行,微软建议使用 Azure Arc 或直接在 Linux 容器主机上部署 Docker Engine,因为 Docker Desktop 包含了一些仅适用于桌面的 UI 组件,且其许可证条款对商业生产用途可能有特定限制(具体请参考 Docker 最新的 EULA)。对于纯服务器端无头(Headless)部署,Linux 上的 Docker Engine 通常是更优解。

完成上述步骤后,你就可以在 Windows Server 2022 上正常运行 docker rundocker compose up 命令了。

未经允许不得转载:云服务器 » windows server2022安装docker和docker-compose?