Развертывание узла контейнера: Windows ServerContainer host deployment: Windows Server

Чтобы развернуть узел контейнера Windows, нужно выполнить разные действия в зависимости от типа операционной системы виртуальной машины и операционной системы сервера виртуальных машин (виртуальная и физическая).Deploying a Windows container host has different steps depending on the operating system and the host system type (physical or virtual). Этот документ описывает развертывание узла контейнера Windows в Windows Server 2016 или Windows Server Core 2016 в физической или виртуальной системе.This document details deploying a Windows container host to either Windows Server 2016 or Windows Server Core 2016 on a physical or virtual system.

Установка DockerInstall Docker

Docker необходим для работы с контейнерами Windows.Docker is required in order to work with Windows containers. Docker состоит из подсистемы Docker Engine и клиента Docker.Docker consists of the Docker Engine and the Docker client.

Для установки Docker будет использоваться модуль PowerShell поставщика OneGet.To install Docker, we'll use the OneGet provider PowerShell module. Поставщик обеспечит работу контейнеров на компьютере и установит Docker. После этого потребуется перезагрузка.The provider will enable the containers feature on your machine and install Docker, which will require a reboot.

Откройте сеанс PowerShell с повышенными правами и выполните следующие командлеты.Open an elevated PowerShell session and run the following cmdlets.

Установите модуль OneGet PowerShell.Install the OneGet PowerShell module.

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

С помощью OneGet установите последнюю версию Docker.Use OneGet to install the latest version of Docker.

Install-Package -Name docker -ProviderName DockerMsftProvider

После завершения установки перезагрузите компьютер.When the installation is complete, reboot the computer.

Restart-Computer -Force

Установка конкретной версии DockerInstall a specific version of Docker

На данный момент для Docker EE для Windows Server доступно два канала:There are currently two channels available for Docker EE for Windows Server:

  • 17.06 — используйте эту версию, если вы используете Docker Enterprise Edition (Docker Engine, UCP, DTR).17.06 - Use this version if you're using Docker Enterprise Edition (Docker Engine, UCP, DTR). 17.06 используется по умолчанию.17.06 is the default.
  • 18.03 — используйте эту версию, если вы используете только подсистему Docker EE Engine.18.03 - Use this version if you're running Docker EE Engine alone.

Чтобы установить конкретную версию, используйте флаг RequiredVersion.To install a specific version, use the RequiredVersion flag:

Install-Package -Name docker -ProviderName DockerMsftProvider -Force -RequiredVersion 18.03

Для установки конкретных версий Docker EE может потребоваться обновление ранее установленных модулей DockerMsftProvider.Installing specific Docker EE versions may require an update to previously installed DockerMsftProvider modules. Чтобы его выполнить, воспользуйтесь следующей командой:To Update:

Update-Module DockerMsftProvider

Обновление DockerUpdate Docker

Если необходимо обновить более раннюю версию канала подсистемы Docker EE Engine до более поздней, используйте флаги -Update и -RequiredVersion.If you need to update Docker EE Engine from an earlier channel to a later channel, use both the -Update and -RequiredVersion flags:

Install-Package -Name docker -ProviderName DockerMsftProvider -Update -Force -RequiredVersion 18.03

Установка базовых образов контейнеровInstall base container images

Перед началом работы с контейнерами Windows необходимо установить базовый образ.Before working with Windows containers, a base image needs to be installed. Базовые образы доступны при использовании Windows Server Core и Nano Server в качестве операционной системы контейнера.Base images are available with either Windows Server Core or Nano Server as the container operating system. Подробные сведения об образах контейнеров Docker см. в разделе Создание собственных образов на сайте docker.com.For detailed information on Docker container images, see Build your own images on docker.com.

Совет

Начиная с мая 2018 года, для обеспечения единообразных и надежных возможностей приобретения почти все образы контейнеров, полученные от Майкрософт, обслуживаются из Реестра контейнеров Майкрософт, mcr.microsoft.com. При этом текущий процесс обнаружения через Docker Hub остается неизменным.With effect from May 2018, delivering a consistent and trustworthy acquisition experience, almost all of the Microsoft-sourced container images are served from the Microsoft Container Registry, mcr.microsoft.com, while maintaining the current discovery process via Docker Hub.

Windows Server 2019 и более поздних версийWindows Server 2019 and newer

Чтобы установить базовый образ Windows Server Core, выполните следующую команду:To install the 'Windows Server Core' base image run the following:

docker pull mcr.microsoft.com/windows/servercore:ltsc2019

Чтобы установить базовый образ Nano Server, выполните следующую команду:To install the 'Nano Server' base image run the following:

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

Windows Server 2016 (версии 1607–1803)Windows Server 2016 (versions 1607-1803)

Чтобы установить базовый образ Windows Server Core, выполните следующую команду:To install the Windows Server Core base image run the following:

docker pull mcr.microsoft.com/windows/servercore:1607

Чтобы установить базовый образ Nano Server, выполните следующую команду:To install the Nano Server base image run the following:

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

Прочтите лицензионное соглашение для образов ОС контейнеров Windows на странице Лицензионное соглашение.Please read the Windows containers OS image EULA, which can be found here – EULA.

Узел с изоляцией Hyper-VHyper-V isolation host

Для запуска изоляции Hyper-V необходима роль Hyper-V.You must have the Hyper-V role to run Hyper-V isolation. Если сам узел контейнера Windows является виртуальной машиной Hyper-V, перед установкой роли Hyper-V необходимо включить вложенную виртуализацию.If the Windows container host is itself a Hyper-V virtual machine, nested virtualization will need to be enabled before installing the Hyper-V role. Дополнительные сведения о вложенной виртуализации см. в статье Вложенная виртуализация.For more information on nested virtualization, see Nested Virtualization.

Вложенная виртуализацияNested virtualization

Приведенный ниже сценарий настраивает вложенную виртуализацию для узла контейнера.The following script will configure nested virtualization for the container host. Этот сценарий выполняется на родительском компьютере Hyper-V.This script is run on the parent Hyper-V machine. Перед запуском сценария убедитесь, что виртуальная машина узла контейнера отключена.Ensure that the container host virtual machine is turned off when running this script.

#replace with the virtual machine name
$vm = "<virtual-machine>"

#configure virtual processor
Set-VMProcessor -VMName $vm -ExposeVirtualizationExtensions $true -Count 2

#disable dynamic memory
Set-VMMemory -VMName $vm -DynamicMemoryEnabled $false

#enable mac spoofing
Get-VMNetworkAdapter -VMName $vm | Set-VMNetworkAdapter -MacAddressSpoofing On

Включение роли Hyper-VEnable the Hyper-V role

Чтобы включить компонент Hyper-V с помощью PowerShell, выполните приведенный ниже командлет в сеансе PowerShell с повышенными правами.To enable the Hyper-V feature using PowerShell, run the following cmdlet in an elevated PowerShell session.

Install-WindowsFeature hyper-v