Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS Windows / Знакомство с Hyper-V.pdf
Скачиваний:
31
Добавлен:
22.07.2019
Размер:
4.26 Mб
Скачать

Пример :

PS C:\> Stop-Service docker

PS C:\> Get-ContainerNetwork | Remove-ContainerNetwork -force

PS C:\> Get-NetNat | Remove-NetNat (this will remove the NAT but keep the internal vSwitch)

Edit the arguments passed to the docker daemon (dockerd) by adding -b “none” option to the end of docker daemon (dockerd) command to tell docker not to create a default NAT network.

PS C:\> New-ContainerNetwork –name nat –Mode NAT –subnetprefix <container prefix> (create a new NAT and internal vSwitch – HNS will allocate IPs to container endpoints attached to this network from the <container prefix>)

PS C:\> Get-Netnat | Remove-NetNAT (again, this will remove the NAT but keep the internal vSwitch)

PS C:\> New-NetNat -Name SharedNAT -InternalIPInterfaceAddressPrefix <shared prefix>

PS C:\> New-VirtualSwitch -Type internal (attach VMs to this new vSwitch)

PS C:\> Start-Service docker

Docker и HNS будет назначение IP-адреса для контейнеров Windows и администрирования назначить IP-адреса виртуальных машин с установленной различие двух.

В итоге вы должны получить два внутренних коммутатора виртуальных машин и один общий для них коммутатор NetNat.

Несколько приложений, использующих одну систему NAT

В некоторых сценариях требуется, чтобы несколько приложений или служб использовали одну систему NAT. В этом случае необходимо придерживаться описанной ниже процедуры, чтобы несколько приложений или служб могли использовать больший внутренний префикс подсети NAT.

Вкачестве примера мы рассмотрим сосуществование Docker 4 Windows— Docker Beta— Linux VM и компонента контейнеров Windows на одном узле. Эта процедура может быть изменена.

1.C:> net stop docker

2.Stop Docker4Windows MobyLinux VM

3.PS C:> Get-ContainerNetwork | Remove-ContainerNetwork -force

4.PS C:> Get-NetNat | Remove-NetNat

Удаляет все ранее существовавшие сети контейнера (т.е. удаляет vSwitch, NetNat и выполняет очистку).

5.New-ContainerNetwork -Name nat -Mode NAT –subnetprefix 10.0.76.0/24 (эта подсеть используется для компонента контейнеров Windows) Создает внутренний vSwitch с именем nat.

Создает сеть NAT с именем "nat" и префиксом IP-адреса 10.0.76.0/24.

6.Remove-NetNAT

Удаляет сети NAT с именами nat и DockerNAT (сохраняя внутренние коммутаторы Vswitch).

7.New-NetNat -Name DockerNAT -InternalIPInterfaceAddressPrefix 10.0.0.0/17 (создает более крупную сеть NAT для совместного использования D4W и контейнерами)

Создает сеть NAT с именем DockerNAT и увеличенным префиксом

10.0.0.0/17.

8.Run Docker4Windows (MobyLinux.ps1)

Создает внутренний vSwitch DockerNAT.

Создает сеть NAT с именем DockerNAT и префиксом 10.0.75.0/24.

9.Net start docker

Docker использует пользовательскую сеть NAT по умолчанию для подключения к контейнерам Windows.

Вконце вы должны получить два внутренних коммутатора vSwitch— один с именем DockerNAT, другой с именем nat. При выполнении Get-NetNat выводится только одна подтвержденная сеть NAT (10.0.0.0/17). IP-адреса для контейнеров