windows server 2022 with container怎么用?

Windows Server 2022 with Containers 上使用容器,主要涉及以下几个步骤:安装容器功能、配置 Docker 或 containerd、运行 Windows 容器或 Hyper-V 隔离容器。下面是一个详细的入门指南:


🧩 一、准备环境

1. 确认系统版本

确保你使用的是 Windows Server 2022 with Containers 版本(可以是 GUI 或 Core),这个版本已经预装了容器功能。

你可以通过以下命令确认:

Get-WindowsEdition -Online

输出应包含:

Edition : ServerStandard
InstallType : ServerCore / Server

🛠️ 二、启用容器功能(如果未安装)

虽然“with Containers”版本默认已安装,但你也可以手动检查并安装:

# 安装容器功能
Install-WindowsFeature -Name Containers

# 重启服务器以应用更改
Restart-Computer

🐳 三、安装 Docker Engine(推荐方式)

Docker 提供了管理容器的工具链,包括 docker run 命令等。

方法 1:使用 Microsoft 的脚本安装 Docker

# 安装 OneGet 提供商
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

# 安装 Docker-Microsoft Package Provider
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

# 安装最新版 Docker Engine
Install-Package -Name Docker -ProviderName DockerMsftProvider

# 启动 Docker 服务
Start-Service Docker

# 设置 Docker 开机自启
Set-Service -Name Docker -StartupType Automatic

方法 2:使用 PowerShell 脚本一键安装

# 使用官方脚本安装 Docker
Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/microsoft/WindowsDocker/master/resin-windows-docker-install.ps1 | Invoke-Expression

📦 四、拉取和运行容器

1. 拉取一个 Windows 容器镜像(例如 NanoServer)

docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022

2. 运行容器

docker run --rm -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd

这会启动一个交互式的 NanoServer 容器,并进入 CMD shell。


🔍 五、查看容器状态

docker ps       # 查看正在运行的容器
docker ps -a    # 查看所有容器
docker images   # 查看本地镜像

⚙️ 六、容器类型说明

Windows 支持两种容器隔离模式:

类型 隔离级别 性能 安全性
Windows 容器 进程级隔离
Hyper-V 容器 虚拟机级隔离 较低

使用 Hyper-V 容器示例:

docker run --isolation=hyperv --rm -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd

🧱 七、构建自己的容器镜像

创建一个简单的 Dockerfile 示例:

# 使用基础镜像
FROM mcr.microsoft.com/windows/servercore:ltsc2022

# 创建目录
RUN powershell New-Item -ItemType Directory -Path C:app

# 拷贝文件进去
COPY hello.ps1 C:app

# 设置工作目录
WORKDIR C:app

# 设置启动命令
CMD ["powershell", ".\hello.ps1"]

然后构建并运行:

docker build -t myapp .
docker run --rm myapp

✅ 八、常见问题与注意事项

1. 容器网络问题

  • 默认使用 NAT 网络。
  • 可以配置透明网络或 L2 Bridge 模式用于外部访问。

2. 镜像兼容性

  • 不同版本的 Windows 容器必须与宿主机 OS 兼容(如 LTSC2022 容器只能在 2022 宿主机上运行)。

3. 存储卷挂载

  • Windows 容器支持将宿主机路径挂载到容器中:
    docker run -v C:hostpath:C:containerpath ...

📚 九、学习资源推荐

  • Microsoft 官方文档
  • Docker 文档 for Windows
  • GitHub 示例仓库:WindowsContainerSamples

如果你有特定的应用场景(比如部署 ASP.NET Core、SQL Server 容器等),我也可以提供详细的操作步骤。欢迎继续提问!

未经允许不得转载:秒懂云 » windows server 2022 with container怎么用?