windows server2022搭建docker?

在 Windows Server 2022 上搭建 Docker 环境,目前官方推荐使用 Docker Desktop for Windows(适用于专业版/企业版)或 Docker Engine(适用于服务器版)。

由于 Windows Server 通常作为生产环境使用,且可能没有图形界面(Server Core),我将分两种主流场景为你介绍。请根据你的具体需求选择:

⚠️ 前置条件检查

无论哪种方式,Windows Server 2022 必须满足以下条件:

  1. 操作系统版本:必须是 Windows Server 2022 Datacenter 或 Standard 版(支持容器功能)。
  2. 虚拟化开启:BIOS/UEFI 中必须开启 VT-x/AMD-V 虚拟化技术。
  3. Hyper-V 角色:需要安装并启用 Hyper-V 功能。
  4. 网络配置:确保网络适配器正常,建议配置静态 IP。

方法一:使用 Docker Desktop(推荐用于带 GUI 的管理员桌面)

如果你是在带有图形界面的服务器上操作,或者通过远程桌面连接,这是最简单的方法。它会自动处理 WSL2 后端和容器引擎。

1. 启用必要功能

打开 PowerShell (管理员),运行以下命令启用容器所需的组件:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers-Disposable-Client
Restart-Computer

重启后继续下一步。

2. 下载并安装 Docker Desktop

  1. 访问 Docker Hub 下载 Docker Desktop.exe。
  2. 运行安装程序,按照向导操作。
    • 注意:在安装过程中,确保勾选 "Use WSL 2 instead of Hyper-V"(如果系统已安装 WSL2),这通常性能更好。
  3. 安装完成后启动 Docker Desktop。
  4. 等待右下角托盘图标变为绿色鲸鱼,表示服务已就绪。

3. 验证安装

打开 PowerShell,输入:

docker --version
docker run hello-world

如果看到 "Hello from Docker!" 输出,说明安装成功。


方法二:使用 Docker Engine(推荐用于无头模式/Server Core/纯生产环境)

如果你使用的是 Windows Server Core 版本,或者希望更轻量、不依赖 Docker Desktop 的图形化组件,可以直接安装 Docker Engine。

1. 安装 Docker Engine MSI

由于 Server 2022 默认不包含 Docker,你需要从微软官方仓库获取安装包。

  1. 下载脚本:
    在 PowerShell (管理员) 中运行以下命令来下载并执行安装脚本(微软官方维护的自动化脚本):

    Invoke-WebRequest -Uri https://raw.githubusercontent.com/microsoft/Docker-CE-for-Windows/main/scripts/install.ps1 -OutFile install.ps1
    .install.ps1

    注:如果上述链接失效,请手动访问 GitHub 仓库 microsoft/Docker-CE-for-Windows 下载最新的 .msi 安装包。

  2. 手动安装 MSI(备选方案):
    如果脚本无法运行,请手动下载 Docker-CE-for-Windows.msi,双击运行并按照提示安装。安装时选择 "Install as a service"。

2. 配置镜像提速器(关键步骤)

在中国大陆地区,直接拉取 Docker Hub 镜像非常慢甚至失败。建议配置国内镜像提速器。

  1. 停止 Docker 服务:
    Stop-Service docker
  2. 编辑配置文件 C:ProgramDatadockerconfigdaemon.json。
    • 如果文件不存在,请新建该文件。
    • 添加以下内容(以阿里云为例,其他如腾讯云、网易云类似):
      {
      "registry-mirrors": [
      "https://docker.m.daocloud.io",
      "https://huecker.io"
      ]
      }

      (注意:JSON 格式要求严格,逗号不能遗漏)

  3. 重启 Docker 服务:
    Start-Service docker

3. 验证安装

docker --version
docker pull nginx
docker run -d -p 80:80 --name web-server nginx

如果容器能成功运行并听到日志输出,则配置完成。


常见问题与注意事项

  1. WSL2 vs Hyper-V:

    • Docker Desktop 默认使用 WSL2 后端,性能极佳,但需要安装 WSL2 内核更新。
    • Docker Engine 传统上使用 Hyper-V 隔离,但在 Server 2022 上也可以配置为使用 WSL2 后端(需额外配置),不过对于纯服务器场景,原生 Hyper-V 模式兼容性最好。
  2. 权限问题:

    • 在命令行操作时,务必使用 PowerShell (Run as Administrator)。
    • 如果部署应用遇到权限拒绝,请检查 C:ProgramDataDocker 目录的 ACL 权限。
  3. 防火墙:

    • 如果是生产环境,记得在 Windows 防火墙中放行容器的端口映射(例如 -p 80:80 需要在宿主机开放 80 端口)。
  4. 资源限制:

    • 在 Docker Desktop 中,可以通过设置调整分配给虚拟机的 CPU 和内存,避免占用过多服务器资源影响其他业务。

总结

  • 如果是开发测试或有图形界面的环境:直接使用 Docker Desktop。
  • 如果是纯生产环境、Server Core 或追求极致轻量:使用 Docker Engine 配合镜像提速器。

安装完成后,你即可像操作 Linux 一样使用 docker build, docker compose, docker stack deploy 等命令管理容器了。

未经允许不得转载:云知道CLOUD » windows server2022搭建docker?