从 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)
系统路径添加好后新开一个 PowerShell 会话,使用如下命令将 Docker 安装注册为 Windows 服务:
dockerd --register-service
注册好后即可启用该服务:
Start-Service Docker
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
此时我们便可以执行 docker images 查看所有已安装映像的列表。
在正式处理前,我们先为这个映像打上 latest 标签:
docker tag nanoserver:10.0.14300.1010 nanoserver:latest
4. 部署第一个容器
此示例 .NET Core 映像已被微软预先创建,可以使用 docker pull 命令进行下载。当该容器开始运行时,会自动执行 .NET Core 应用然后退出。
docker pull microsoft/sample-dotnet
安装好后再次使用 docker images 进行验证:
使用 docker run 命令运行容器,其中的 –rm 参数会设定 Docker engine 当容器不再运行时将其删除:
docker run --isolation=hyperv --rm microsoft/sample-dotnet
上述命令会从 sample-dotnet 映像创建一个 Hyper-V container,并执行微软的示例演示程序(在窗口中进行输出),最后停止并删除。
最新评论
可以共存,但虚拟机维护起来更麻烦了呀。
关掉之后重启下系统再试试呢
不能共存吗?
我是家庭版,看着关掉了,但是破解程序一运行还是弹窗,搞不了