系统极客一直在努力
专注于操作系统及软件使用教程

Windows 10 Build 14352开始预览Hyper-V Containers

Windows 10 Insider Preview Build 14352 起,微软正式开始在 Windows 10 中预览 Hyper-V Containers 功能。接下来我将向大家演示在 Windows 10 中部署 Hyper-V Containers 服务的基本步骤,下面我们就开始安装 Container 角色并部署简单的 Hyper-V 容器。在此之前,请大家自行了解、熟悉容器技术的基本概念和术语。

前提条件

  • 物理机必需运行 Windows 10 Build 14352 及之后版本。
  • 如果在 Windows 10 虚拟机中进行功能测试,必需开启嵌套虚拟化

1. 安装Container功能

在运行 Windows Containers 之前必需先启用 Container 功能,请先在 PowerShell 中执行如下命令:

Enable-WindowsOptionalFeature -Online -FeatureName containers –All

由于 Windows 10 只支持 Hyper-V 容器,因此 Hyper-V 功能也必需开启。对于 Windwos 10 中使用 Hyper-V 的前提条件和详细说明可以参考如何启用 Windows 10 客户端 Hyper-V,如果条件都满足,请在 PowerShell 中执行如下命令开启 Hyper-V:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

执行上述两条命令安装组件后,会分别要求重启系统。

2. 安装Docker

Docker 由 Docker 引擎和 Docker 客户端组成,需要与 Windows Containers 一同工作,下面我们对两者进行安装。

创建 Docker 执行文件夹:

New-Item -Type Directory -Path 'C:\Program Files\docker\'

下载 Docker 守护进程:

Invoke-WebRequest https://aka.ms/tp5/b/dockerd -OutFile $env:ProgramFiles\docker\dockerd.exe

下载 Docker 客户端:

Invoke-WebRequest https://aka.ms/tp5/b/docker -OutFile $env:ProgramFiles\docker\docker.exe

将 Docker 目录添加到系统路径:

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)

preview-hyper-v-containers-windows-10-build-14352-2

系统路径添加好后新开一个 PowerShell 会话,使用如下命令将 Docker 安装注册为 Windows 服务:

dockerd --register-service

注册好后即可启用该服务:

Start-Service Docker

preview-hyper-v-containers-windows-10-build-14352-3

3. 安装基本容器映像

Windows containers 通过模板或映像进行部署,在被部署之前必需先下载基于 OS 映像的容器。后面的命令将用于下载 Nano Server 的基本映像。

先设置 PowerShell 当前会话的脚本执行策略:

Set-ExecutionPolicy Bypass -scope Process

安装容器映像包提供程序:

Install-PackageProvider ContainerImage -Force

接下来安装 Nano Server 映像:

Install-ContainerImage -Name NanoServer

基本映像安装完成后,需要重启 Docker 服务:

Restart-Service docker

preview-hyper-v-containers-windows-10-build-14352-4

此时我们便可以执行 docker images 查看所有已安装映像的列表。

preview-hyper-v-containers-windows-10-build-14352-5

在正式处理前,我们先为这个映像打上 latest 标签:

docker tag nanoserver:10.0.14300.1010 nanoserver:latest

4. 部署第一个容器

此示例 .NET Core 映像已被微软预先创建,可以使用 docker pull 命令进行下载。当该容器开始运行时,会自动执行 .NET Core 应用然后退出。

docker pull microsoft/sample-dotnet

安装好后再次使用 docker images 进行验证:

preview-hyper-v-containers-windows-10-build-14352-6

使用 docker run 命令运行容器,其中的 –rm 参数会设定 Docker engine 当容器不再运行时将其删除:

docker run --isolation=hyperv --rm microsoft/sample-dotnet

preview-hyper-v-containers-windows-10-build-14352-7

上述命令会从 sample-dotnet 映像创建一个 Hyper-V container,并执行微软的示例演示程序(在窗口中进行输出),最后停止并删除。

分享到:更多 ()