windows server上安装docker部署linux?

在 Windows Server 上“安装 Docker 部署 Linux"通常有两种理解,这两种方式的技术实现完全不同。请根据你的具体需求选择:

  1. 场景 A(最常见): 你想在 Windows Server 的 Docker 环境中运行Linux 容器(例如运行 Nginx、MySQL 等 Linux 应用)。
  2. 场景 B: 你想把整个 Windows Server 变成一个宿主机,然后在上面运行一个完整的Linux 虚拟机(VM),而不是容器。

以下是针对这两种场景的详细操作指南:


场景 A:在 Windows Server 上运行 Linux 容器 (Docker Desktop / WSL2)

如果你只是想在 Windows 上跑 Linux 的应用程序,这是最高效的方式。Windows Server 本身支持两种模式:Windows 容器Linux 容器。要运行 Linux 容器,你需要使用 WSL 2 (Windows Subsystem for Linux) 后端。

前置条件

  • Windows Server 版本:建议 Windows Server 2019 或 2022(2016/2017 支持较差)。
  • 已启用 Hyper-V 和 WSL 功能。
  • 已安装最新的 Docker Desktop for Windows(注意:Docker Desktop 在服务器版系统上通常通过 WSL 2 运行,或者需要配置特定的 Docker Engine 环境)。

操作步骤

  1. 启用 WSL 2 和 Hyper-V
    以管理员身份打开 PowerShell,运行以下命令并重启服务器:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    # 设置默认版本为 WSL 2
    wsl --set-default-version 2
  2. 安装 Docker Desktop for Windows

    • 下载适用于 Windows 的 Docker Desktop 安装包。
    • 安装过程中,确保勾选 "Use WSL 2 instead of Hyper-V"(如果使用 WSL 2 后端)。
    • 注意:在 Windows Server 上,Docker Desktop 有时可能无法像普通 Win10/11 那样直接作为服务运行。如果安装失败,建议直接使用 Docker Engine (CLI) 配合 WSL 2 发行版。
  3. 切换到 Linux 镜像模式
    在 Docker Desktop 右下角的状态栏图标中,点击切换按钮,从 "Windows Containers" 切换到 "Switch to Linux containers"

    • 此时 Docker 会自动拉取一个基于 WSL 2 的 Linux 内核环境。
  4. 验证与运行
    打开终端(PowerShell 或 CMD),输入:

    docker run hello-world

    如果看到 "Hello from Docker!",说明成功。现在你可以运行任何 Linux 镜像了:

    # 示例:运行一个 Ubuntu 容器
    docker run -it ubuntu bash
    
    # 示例:运行 Nginx
    docker run -d -p 80:80 nginx

场景 B:在 Windows Server 上部署完整的 Linux 虚拟机

如果你需要的是一个独立的操作系统环境(拥有自己的内核、文件系统、网络栈,且与 Windows 完全隔离),那么你应该使用 Hyper-V 创建虚拟机,而不是 Docker。Docker 是轻量级容器,不是完整的操作系统虚拟化。

操作步骤

  1. 启用 Hyper-V 角色
    以管理员身份打开 PowerShell:

    Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

    服务器将自动重启。

  2. 创建虚拟交换机
    重启后,打开 Hyper-V 管理器 -> 虚拟交换机管理器 -> 新建“外部”交换机,绑定到物理网卡,允许宿主机共享该网络。

  3. 下载 Linux ISO
    去官网下载你需要的 Linux 发行版 ISO 文件(如 Ubuntu Server, CentOS Stream, Rocky Linux 等)。

  4. 创建新虚拟机

    • 在 Hyper-V 管理器中,右键 -> 新建 -> 虚拟机
    • 按照向导操作:分配内存(建议至少 2GB)、创建虚拟硬盘(VHDX)。
    • 在“安装选项”步骤中,选择刚才下载的 Linux ISO 文件作为启动光盘。
    • 完成创建后,双击虚拟机并点击“连接”,即可像操作物理机一样安装 Linux。
  5. 安装 Linux
    启动虚拟机,进入传统的 Linux 安装界面,按照提示完成安装。安装完成后,你将拥有一个完全独立的 Linux 服务器。


总结与建议

特性 场景 A: Docker (Linux 容器) 场景 B: Hyper-V (Linux 虚拟机)
本质 进程级隔离,共享 Windows 内核 (通过 WSL2 桥接) 硬件级虚拟化,拥有独立内核
启动速度 秒级 分钟级
资源占用 极低 (MB 级别) 较高 (GB 级别)
适用场景 微服务、Web 应用、CI/CD、开发测试 需要完整 OS 权限、特殊内核模块、遗留应用
推荐程度 首选 (如果是为了部署应用) 次选 (如果是为了模拟完整服务器环境)

结论:

  • 如果你的目的是部署应用程序(如网站、数据库、API),请使用 场景 A (Docker + WSL2)。这是现代云原生架构的标准做法。
  • 如果你的目的是搭建一个新的 Linux 服务器实例用于学习、迁移旧系统或需要完全隔离的环境,请使用 场景 B (Hyper-V 虚拟机)
未经允许不得转载:CLOUD云枢 » windows server上安装docker部署linux?