Windows Server 2022 with Containers(数据中心版)64 位中文版是微软专为容器化工作负载设计的操作系统。它集成了 Docker 引擎、Windows 容器支持以及 Kubernetes 相关工具,非常适合构建微服务架构和云原生应用。
以下是从基础环境准备到核心容器操作的完整使用指南:
1. 前置准备与系统初始化
在开始之前,请确保你的服务器已安装好该版本系统,并完成了以下基础配置:
- 激活与更新:输入许可证密钥激活系统,并通过 Windows Update 安装所有最新的安全补丁。
- 启用远程桌面 (RDP):默认情况下可能未开启,需在“系统属性” -> “远程”中允许连接,以便远程管理。
- 网络配置:确保服务器拥有固定的内网 IP 地址,并开放必要的端口(如 Docker 的 2375/2376,Kubernetes 的 6443 等)。
2. 安装 Docker 引擎
Windows Server 2022 通常预装了 Docker,但建议通过官方脚本或 PowerShell 进行标准化安装和更新。
方法 A:使用 PowerShell 自动安装(推荐)
以管理员身份运行 PowerShell,执行以下命令:
# 获取安装脚本
Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/microsoft/winget-pkgs/master/microsoft/windows/docker-engine/install-docker.ps1 -OutFile install-docker.ps1
# 执行安装(需要联网下载镜像源)
.install-docker.ps1
安装完成后,Docker 服务会自动启动。你可以通过 Get-Service docker 查看状态。
方法 B:手动验证安装
在终端输入以下命令确认版本:
docker --version
docker info
注意:如果 docker info 显示 "Cannot connect to the Docker daemon",请尝试重启服务:Restart-Service docker。
3. 切换容器模式
Windows Server 2022 同时支持 Windows 容器 和 Linux 容器。
- Windows 容器:运行 .NET Framework、IIS 等 Windows 原生应用。
- Linux 容器:运行 Linux 发行版(如 Ubuntu, CentOS)中的应用。
查看当前模式:
docker version
输出中会显示 Server: Windows 或 Server: Linux。
切换模式:
- 切换到 Windows 容器:右键任务栏 Docker 图标 -> Switch to Windows containers。
- 切换到 Linux 容器:右键任务栏 Docker 图标 -> Switch to Linux containers。
- 提示:切换后可能需要等待几分钟让系统下载相关的底层组件。
4. 核心操作实战
A. 拉取镜像 (Pull)
从 Docker Hub 或其他仓库获取镜像。
# 拉取一个 Windows 容器镜像 (Nginx for Windows)
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
# 拉取一个 Linux 容器镜像 (Nginx for Linux)
docker pull nginx:latest
B. 运行容器 (Run)
根据你当前的容器模式运行对应的镜像。
场景 1:运行 Windows 容器
# 后台运行 (-d),端口映射 (80:80),指定名称 (--name)
docker run -d -p 80:80 --name my-windows-nginx mcr.microsoft.com/windows/servercore:ltsc2022
注:Windows 容器通常需要特定的基础镜像(如 servercore),直接运行普通 Linux 镜像会报错。
场景 2:运行 Linux 容器
# 确保当前模式已切换为 Linux
docker run -d -p 8080:80 --name my-linux-nginx nginx:latest
C. 管理与监控
# 查看正在运行的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 进入容器内部交互
docker exec -it <容器ID或名称> powershell.exe # Windows 容器
docker exec -it <容器ID或名称> bash # Linux 容器
# 查看资源占用
docker stats
D. 停止与清理
# 停止容器
docker stop <容器ID或名称>
# 删除容器
docker rm <容器ID或名称>
# 清理所有停止的容器
docker container prune
5. 高级功能:Kubernetes (可选)
如果你需要编排多个容器,可以部署 Kubernetes。
- 安装 Kubelet 和 Kubeadm:可以使用
winget或下载 MSI 安装包。 - 初始化集群:
kubeadm init --pod-network-cidr=10.244.0.0/16 - 配置 kubectl:按照提示复制配置文件到用户目录,即可使用
kubectl管理集群。
6. 常见问题与最佳实践
- 性能优化:Windows 容器启动速度比 Linux 快,但内存占用略高。在生产环境中,建议将非 Windows 依赖的服务迁移到 Linux 容器中运行以获得更好的性能。
- 镜像源提速:由于国内网络限制,拉取 Docker Hub 镜像可能很慢。建议在 Docker Desktop 设置或
daemon.json中配置国内镜像提速器(如阿里云、腾讯云提供的提速地址)。 - 防火墙设置:确保 Windows Defender 防火墙放行了 Docker 所需的 TCP 端口(通常是 2375, 2376 以及业务端口)。
- 日志管理:Docker 默认日志可能会占满磁盘。可以在
C:ProgramDataDockerconfigdaemon.json中配置日志驱动和大小限制。
通过以上步骤,你就可以在 Windows Server 2022 数据中心版上顺利搭建和管理容器化环境了。如果是首次接触,建议先从简单的 Nginx 镜像跑起,熟悉 run、ps、exec 等基础命令。
云知识CLOUD