Windows Process Job Object Windows Server Container Hyper-V Container Hyper-V Virtual Machine Более высокая скорость и эффективность Более высокий уровень изоляции
Kernel User mode Kernel mode Host OS Container Management stack Docker PS WMI
User mode Kernel mode Hypervisor Kernel Hyper-V partition(s) Container Management stack Docker PS WMI Host OS Kernel
Container Run- Time Linux Image Repository Application A Application Framework A Application Framework B Application B Container Images Application A Application Framework B Application B
PS>Get-ContainerImage Name Publisher Version IsOSImage Windows CN=Microsoft True Image Repository
Container: Node -OFF Container image: Node Image Repository PS> New-Container -Name Node' -ContainerImageName 'Windows
Container: Node C:\Windows Container image: Node Image Repository PS> New-Container -Name Node' -ContainerImageName 'Windows PS> Start-Container Node
Container: Node C:\Windows C:\Node Container image: Node Image Repository PS> New-Container -Name Node' -ContainerImageName 'Windows PS> Start-Container Node Inside the container… [abc-123] PS> cmd /c node.msi
Container: Node -OFF C:\Windows C:\Node Container image: Node Image Repository PS> New-Container -Name Node' -ContainerImageName 'Windows PS> Start-Container Node Inside the container… [abc-123] PS> cmd /c node.msi Outside the container… PS> Stop-Container Node
Container: Node -OFF C:\Windows C:\Node Container image: Node TRNode Image Repository PS> New-Container -Name Node' -ContainerImageName 'Windows PS> Start-Container Node Inside the container… [abc-123] PS> cmd /c node.msi Outside the container… PS> Stop-Container Node PS> New-ContainerImage –ContainerName Node –Name TRNode
Container: Web -OFF Container image: Web TRNode Image Repository PS> New-Container -Name Node' -ContainerImageName 'Windows PS> Start-Container Node Inside the container… [abc-123] PS> cmd /c node.msi Outside the container… PS> Stop-Container Node PS> New-ContainerImage –ContainerName Node –Name TRNode PS> New-Container -Name Web' –ContainerImageName TRNode
Container: Web C:\Windows C:\Node TRNode Container image: Web PS> New-Container -Name Node' -ContainerImageName 'Windows PS> Start-Container Node Inside the container… [abc-123] PS> cmd /c node.msi Outside the container… PS> Stop-Container Node PS> New-ContainerImage –ContainerName Node –Name TRNode PS> New-Container -Name Web' –ContainerImageName TRNode PS> Start-Container Web TRNode Image Repository
Central Image Repository Application A Application Framework A Application Framework B Application B Application CApplication D
Central Repository Local Repository Application Framework A
Central Repository Local Repository Application Framework A Application Framework A
Central Repository Local Repository Application Framework A Application Framework A
Central Repository Local Repository Application Framework A Application Framework A using System; class Program { static void Main() { }
Central Repository Local Repository Application Framework A Application Framework A using System; class Program { static void Main() { }
Central Repository Local Repository Application Framework A Application Framework A using System; class Program { static void Main() { }
Central Repository Local Repository Application Framework A Application Framework A using System; class Program { static void Main() { }
Stage Production
Характеристики задач Масштабирование Распределенность Разделение состояний Быстрый рестарт Характеристики развертывания Эффективность хостинга Мультитенантность Высокая скорость развертывания Высокий уровень автоматизации Быстрое масштабирование
Контейнеры Windows Server Доверенная среда Высокий уровень автоматизации Масштабируемость / Эластичность Небольшой размер / Эффективность Управление ресурсами Контейнеры Hyper-V Windows Server Container Менее надежная среда Регламентные требования
WindowsServerCore Высокий уровень совместимости Существующие приложения Windows Server (Core) NanoServer Высокий уровень плотности Облачные приложения Распределенные приложения
PowerShell Встроенное управление Только локально Автоматизация Команды, схожие с ВМ Docker Отдельная установка Локально Центральный репозиторий Для тех, кто уже использует Docker