Windows 10 上的 Windows 容器

本练习将演练 Windows 10 专业版或企业版(周年纪念版)上 Windows 容器功能的基本部署和用法。 完成后,你就安装了适用于 Windows 的 Docker 并运行了简单的容器。 如果你需要熟悉容器,可在关于容器中找到此信息。

本快速入门特定于 Windows 10。 此页面左侧的目录中提供其他快速入门文档。

Hyper-V 隔离: Windows Server 容器要求对 Windows 10 使用 Hyper-V 隔离才能为开发人员提供在生产中使用的相同内核版本和配置,相关详细信息可在有关 Windows 容器页面上找到。

先决条件:

  • 一个运行 Windows 10 周年纪念版或创意者更新(专业版或企业版)的物理计算机系统。
  • 本快速入门可以在 Windows 10 虚拟机上运行,但需要启用嵌套虚拟化。 可以在嵌套虚拟化指南中找到相关详细信息。

必须安装关键更新,Windows 容器才会工作。 若要检查 OS 版本,请运行 winver.exe,并将显示的版本与 Windows 10 更新历史记录进行比较。

请确保拥有 14393.222 或更高版本再继续操作。 此版本对应 Windows 10 版本 1607 中,因此应完全支持任何版本 1607年上方。

1. 安装适用于 Windows 的 Docker

下载适用于 Windows 的 Docker 并运行安装程序。 Docker 文档中提供了详细的安装说明

2. 切换到 Windows 容器

安装后,适用于 Windows 的 Docker 默认为运行 Linux 容器。 通过使用 Docker 任务栏菜单或通过在 PowerShell 提示符下运行以下命令来切换到 Windows 容器:& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon

3. 安装基本容器映像

Windows 容器是从基本映像中构建的。 以下命令将拉取 Nano Server 基本映像。

docker pull microsoft/nanoserver

拉取映像后,运行 docker images 将返回已安装的映像的列表,此例中为 Nano Server 映像。

docker images

REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
microsoft/nanoserver   latest              105d76d0f40e        4 days ago          652 MB

可在此处 (EULA) 阅读 Windows 容器操作系统映像 EULA。

4. 运行你的第一个容器

对于此简单示例,将创建和部署一个“Hello World”容器映像。 为获得最佳体验,请在升级后的Windows CMD shell 或 PowerShell中运行这些命令。

Windows PowerShell ISE 不适用于与容器的交互式会话。 即使容器正在运行,也会显示为挂起。

首先,从 nanoserver 映像启动一个具有交互式会话的容器。 启动容器后,容器中将显示一个命令行界面。

docker run -it microsoft/nanoserver cmd

在容器中创建一个简单的“Hello World”脚本。

powershell.exe Add-Content C:\helloworld.ps1 'Write-Host "Hello World"'

完成后,退出该容器。

exit

现在从修改后的容器创建一个新的容器映像。 若要查看容器列表,请运行以下项并记住容器 ID。

docker ps -a

运行以下命令以创建 HelloWorld 映像。 将 替换为你的容器 ID。

docker commit <containerid> helloworld

完成后,现在你就具有一个包含“hello world”脚本的自定义映像了。 通过执行以下命令可以看到该映像。

docker images

最后,要运行该容器,请使用 docker run 命令。

docker run --rm helloworld powershell c:\helloworld.ps1

docker run 命令的结果是,从 HelloWorld 映像创建 Hyper-V 容器,然后执行一个“Hello World”脚本(输出回显到该界面),然后停止并删除容器。 Windows 10 和容器快速入门的后续部分将深入探讨在 Windows 10 上的容器中创建和部署应用程序。

后续步骤

继续学习下一个教程以查看生成示例应用的示例