windows server安装docker?

在 Windows Server 上安装 Docker 是一个常见的需求,但需要注意的是,Docker Desktop for Windows(图形界面版)通常不支持在 Windows Server 操作系统上运行。Windows Server 主要使用 Docker Engine(命令行版本),它需要配合 Windows Containers 功能使用。

以下是基于 Windows Server 2016/2019/2022 的标准安装步骤:

1. 前置条件检查

确保你的服务器满足以下要求:

  • 操作系统:Windows Server 2016, 2019 或 2022。
  • 更新:系统必须是最新的,且已安装所有关键补丁。
  • 内核模式:建议使用 Server CoreDesktop Experience 模式均可,但 Server Core 更轻量。
  • 网络:确保服务器可以访问互联网以下载组件。

2. 启用容器功能

首先需要在服务器上启用“容器”功能。你可以通过 PowerShell 快速完成此操作。

打开 PowerShell (管理员),运行以下命令:

# 启用容器功能并重启(如果提示需要重启)
Enable-WindowsOptionalFeature -Online -FeatureName containers -All

注意:执行后可能需要重启服务器才能生效。重启后请继续下一步。


3. 下载 Docker Engine 安装包

由于不能直接使用 Docker Desktop,我们需要手动下载 Docker Engine MSI 安装包。

  1. 访问微软官方 GitHub 仓库的 Release 页面:
    https://github.com/microsoft/Docker-for-Windows/releases
    (注:较新的版本通常直接托管在 Docker Hub 或微软官方镜像站,也可以尝试直接搜索 "Docker Engine for Windows Server")

    推荐方式:直接前往 Docker 官方文档获取最新 MSI 链接,或者使用 PowerShell 脚本自动下载(如下所示)。

    如果你无法找到直接的 MSI 链接,可以使用以下 PowerShell 脚本自动下载最新版 Docker Engine MSI:

    # 设置变量
    $dockerVersion = "24.0.7" # 请替换为当前最新版本号
    $url = "https://download.docker.com/win/static/stable/x86_64/docker-$dockerVersion.zip"
    
    # 注意:Windows Server 环境通常推荐使用 .msi 安装程序,而非 zip。
    # 最稳妥的方式是手动从 https://hub.docker.com/r/microsoft/windows-container-tools 下载对应的 .msi 文件。
    # 这里假设你已经下载了 docker-engine.msi 到 C:Downloads

    更简单的官方推荐方法(通过 Chocolatey 或直接下载):
    建议直接访问 Microsoft Container Registry 或 Docker 官网下载 docker-engine.msi

    如果网络受限,可以使用 Scoop 或 Chocolatey 包管理器(需先安装):

    # 安装 Chocolatey (如果尚未安装)
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
    
    # 安装 Docker Engine
    choco install docker-engine --params '/InstallDir:"C:Program FilesDocker"' -y

4. 安装 Docker Engine

如果你已经下载了 .msi 安装包(例如 docker-engine.msi):

  1. 双击运行安装包。
  2. 按照向导点击 Next,接受许可协议。
  3. 选择安装路径(默认即可)。
  4. 在组件选择页面,确保勾选 Windows ContainersLinux Containers(如果需要兼容 Linux 镜像,需额外配置,但在纯 Windows Server 环境下通常只装 Windows 容器引擎)。
  5. 点击 Install 开始安装。

5. 验证安装

安装完成后,打开新的 PowerShell 窗口(无需重启,除非安装程序提示),运行以下命令:

# 检查版本
docker version

# 测试运行一个 Hello World 容器
docker run hello-world

如果看到类似 "Hello from Docker!" 的消息,说明安装成功。


6. 常见问题与注意事项

  • Windows 容器 vs Linux 容器

    • 在 Windows Server 上,默认只能运行 Windows 容器(镜像前缀如 mcr.microsoft.com/windows/nanoserver)。
    • 如果你需要运行标准的 Linux 容器(如 nginx, redis),你需要安装 WSL 2 (Windows Subsystem for Linux 2) 并搭配 Docker Desktop(仅限 Windows 10/11 专业版,不支持 Windows Server),或者在 Windows Server 上搭建 Hyper-V 虚拟机来运行 Linux 容器。
    • 替代方案:在 Windows Server 上运行 Linux 容器的最佳实践通常是使用 Hyper-V 隔离的 Linux 容器(如果支持)或者直接在 VM 中部署 Linux。目前 Docker Engine on Windows Server 对 Linux 原生容器的支持非常有限。
  • 防火墙端口
    确保服务器的防火墙允许 Docker 所需的端口(通常是 TCP 2375, 2376 等),或者在 PowerShell 中暂时关闭防火墙进行测试。

  • 权限问题
    运行 docker 命令时,通常需要以 Administrator 身份运行 PowerShell。

通过以上步骤,你应该可以在 Windows Server 上成功部署 Docker Engine。如果有特定的镜像需求(如必须运行 Linux 镜像),请考虑在服务器上部署 KVM/QEMU 虚拟机或使用 Azure/AWS 等云平台的 Linux 实例。

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