„Пакетиране на прозорци“: проучване на технологията за контейнери от Microsoft. Кратко въведение в контейнера за приложения на Windows Containers

Изследване на технологията на контейнерите
Windows Server 2016

Една от забележителните нови функции, въведени в Windows Server 2016, е поддръжката за контейнери. Нека я опознаем по-добре

Съвременните системи отдавна са се отдалечили от принципа на една ОС - един сървър. Технологиите за виртуализация позволяват по-ефективно използване на сървърните ресурси, което ви позволява да стартирате множество операционни системи, като ги отделяте една от друга и опростявате администрирането. След това имаше микроуслуги, които ви позволяват да разгръщате изолирани приложения като отделен лесно управляван и мащабируем компонент. Docker промени всичко. Процесът на доставяне на приложение заедно със среда е станал толкова прост, че няма как да не заинтересува крайния потребител. Приложението вътре в контейнера работи така, сякаш използва пълноценна операционна система. Но за разлика от виртуалните машини, те не зареждат свои собствени копия на ОС, библиотеки, системни файлове и т.н. Контейнерите получават изолирано пространство от имена, в което всички необходими ресурси са достъпни за приложението, но от което не може да се излезе. Ако трябва да промените настройките, тогава се запазват само разликите с основната ОС. Следователно контейнерът, за разлика от виртуалните машини, се стартира много бързо и натоварва системата по-малко. Контейнерите използват сървърните ресурси по-ефективно.

Контейнери на Windows

В Windows Server 2016, в допълнение към съществуващите технологии за виртуализация – виртуални приложения Hyper-V и Server App-V, е добавена поддръжка за контейнери Windows Server Containers, реализирани чрез слоя за абстракция на стека за управление на контейнери, който реализира всички необходими функции. Технологията беше обявена още в Technical Preview 4, но оттогава много се промениха в посока на опростяване и инструкциите, написани по-рано, дори не могат да бъдат прочетени. В същото време бяха предложени два типа "собствени" контейнери - контейнери Windows и контейнери Hyper-V. И вероятно друга основна възможност е използването на инструменти на Docker в допълнение към командлетите на PowerShell за управление на контейнери.

Контейнерите на Windows по принцип приличат на FreeBSD Jail или Linux OpenVZ, те използват едно ядро ​​с ОС, което заедно с други ресурси (RAM, мрежа) се споделя помежду си. Файловете и услугите на ОС са картографирани в пространството от имена на всеки контейнер. Този тип контейнер използва ресурсите ефективно, намалявайки режийните разходи и следователно позволява на приложенията да се поставят по-плътно. Тъй като базовите изображения на контейнера "имат" едно ядро ​​с възел, техните версии трябва да съвпадат, в противен случай работата не е гарантирана.

Hyper-V контейнерите използват допълнителен изолационен слой и на всеки контейнер се разпределя собствено ядро ​​и памет. Изолирането, за разлика от предишния тип, се извършва не от ядрото на ОС, а от хипервизора Hyper-V (изисква ролята на Hyper-V). Резултатът е по-малко разходи от виртуалните машини, но повече изолация от контейнерите на Windows. В този случай, за да стартирате контейнера, трябва да имате същото ядро ​​на ОС. Тези контейнери могат да бъдат разгърнати и в Windows 10 Pro/Enterprise. Особено си струва да се отбележи, че типът контейнер не се избира по време на създаване, а по време на внедряване. Тоест всеки контейнер може да се изпълнява както като Windows, така и като Hyper-V вариант.

Като ОС в контейнера се използва изрязаното ядро ​​на сървъра или нано сървър. Първият се появи в Windows Sever 2008 и осигурява по-голяма съвместимост със съществуващите приложения. Вторият е дори по-обезсилен от Server Core и е проектиран да работи без монитор, което ви позволява да стартирате сървъра в най-малката възможна конфигурация за използване с Hyper-V, файлов сървър (SOFS) и облачни услуги, изискващи 93% по-малко пространство. Съдържа само най-необходимите компоненти (.Net с CoreCLR, Hyper-V, Clustering и др.).

За съхранение се използва форматът на изображението на твърдия диск VHDX. Контейнерите, както в случая с Docker, се записват като изображения в хранилището. Освен това всеки от тях не записва пълен набор от данни, а само разликите между създаденото изображение и основното. И в момента на стартиране всички необходими данни се проектират в паметта. Virtual Switch се използва за управление на мрежовия трафик между контейнера и физическата мрежа.

През март 2013 г. Soloman Hykes обяви началото на проект с отворен код, който по-късно стана известен като Docker. През следващите месеци той беше силно подкрепен от Linux общността, а през есента на 2014 г. Microsoft обяви планове за внедряване на контейнери в Windows Server 2016. WinDocks, който аз съосновател, пусна независима версия на Docker с отворен код за Windows в началото на 2016 г. с фокус върху първокласна поддръжка на контейнери в SQL Server. Контейнерите бързо се превръщат във фокус на вниманието в индустрията. В тази статия ще разгледаме контейнерите и тяхното използване от разработчиците на SQL Server и DBA.

Принципи на организация на контейнерите

Контейнерите определят нов метод за опаковане на приложения, комбиниран с изолация на потребители и процеси, за приложения с множество наематели. Различни реализации на контейнери за Linux и Windows съществуват от години, но с пускането на Windows Server 2016 имаме де факто стандарта Docker. Днес API и форматът на контейнера Docker се поддържат в обществените услуги на AWS, Azure, Google Cloud, всички дистрибуции на Linux и Windows. Елегантната рамка на Docker има важни предимства.

  • Преносимост. Контейнерите съдържат зависимости от приложния софтуер и работят непроменени на лаптоп на разработчик, споделен тестов сървър и всяка обществена услуга.
  • Екосистема от контейнери. Docker API е фокусът на иновациите в индустрията с решения за наблюдение, регистриране, съхранение на данни, клъстерна оркестрация и управление.
  • Съвместимост с обществените услуги. Контейнерите са проектирани за архитектура на микросервизи, мащабиране и преходни работни натоварвания. Контейнерите са предназначени да бъдат премахнати и подменени по желание, вместо да се ремонтират или надграждат.
  • Бързина и икономичност. Създаването на контейнери отнема няколко секунди; Осигурена е ефективна поддръжка на множество абонати. За повечето потребители броят на виртуалните машини е намален от три до пет пъти (Фигура 1).

SQL Server контейнери

SQL Server поддържа многократно наемане на имена на инстанции в продължение на десет години, така че каква е стойността на контейнерите на SQL Server?

Въпросът е, че контейнерите на SQL Server са по-практични поради тяхната скорост и автоматизация. Контейнерите на SQL Server са наименувани екземпляри с данни и настройки, предоставени за секунди. Възможността за създаване, изтриване и замяна на контейнери на SQL Server за секунди ги прави по-практични за разработка, QA и други случаи на употреба, разгледани по-долу.

Със своята скорост и автоматизация, контейнерите на SQL Server са идеални за среда за развитие и контрол на качеството. Всеки член на екипа работи с изолирани контейнери в споделена виртуална машина, с три до пет пъти намаляване на броя на виртуалните машини. В резултат на това получаваме значителни спестявания от поддръжката на виртуални машини и цената на лицензите на Microsoft. Контейнерите могат лесно да бъдат интегрирани в масиви на мрежа за съхранение (SAN), като се използват реплики за съхранение и клонинги на база данни (Фигура 2).

Прикачена база данни от 1TB се създава в контейнер за по-малко от една минута. Това е значително подобрение в сравнение със сървъри със специални наименовани екземпляри или предоставяне на виртуални машини за всеки разработчик. Една компания използва осемядрен сървър, за да обслужва до 20 400 GB SQL Server контейнера. В миналото предоставянето на всяка виртуална машина отнема повече от час, а екземплярите на контейнери се предоставят за две минути. По този начин беше възможно да се намали броят на виртуалните машини с 20 пъти, да се намали броят на процесорните ядра с 5 пъти и драстично да се намалят разходите за плащане за лицензи на Microsoft. В допълнение, повишена гъвкавост и отзивчивост в бизнеса.

Използване на контейнери на SQL Server

Контейнерите се дефинират с помощта на Dockerfile скриптове, които предоставят специфични стъпки за изграждане на контейнер. Dockerfile, показан на фигура 1, определя SQL Server 2012 с бази данни, копирани в контейнера, и скрипт на SQL Server за маскиране на избрани таблици.

Всеки контейнер може да съдържа десетки бази данни с помощни файлове и лог файлове. Базите данни могат да се копират и изпълняват в контейнер или да се монтират с помощта на командата MOUNTDB.

Всеки контейнер съдържа частна файлова система, изолирана от ресурсите на хоста. На фигура 2 контейнерът е изграден с помощта на MSSQL-2014 и venture.mdf. Генерират се уникален ContainerID и порт на контейнера.


Фигура 2: Контейнер на SQL Server 2014 и venture.mdf

Контейнерите на SQL Server осигуряват ново ниво на производителност и автоматизация, но тяхното поведение е точно същото като обикновените пространства с имена. Управлението на ресурсите може да бъде реализирано с помощта на SQL Server Instrumentation или чрез ограничения на ресурсите на контейнера (Фигура 3).

Други приложения

Контейнерите са най-често срещаното средство за организиране на среда за разработка и QA, но се появяват и други приложения. Тестването за възстановяване при бедствия е прост, но обещаващ случай на употреба. Други включват контейнеризиране на вътрешната среда на SQL Server за наследени приложения като SAP или Microsoft Dynamics. Контейнерният бекенд се използва за осигуряване на работна среда за поддръжка и текуща поддръжка. Контейнерите за оценка също се използват за поддръжка на производствени среди с постоянни хранилища на данни. В една от следващите статии ще говоря подробно за постоянните данни.

WinDocks се ангажира да направи контейнерите още по-лесни за използване чрез уеб интерфейс. Друг проект се фокусира върху мигриране на контейнери на SQL Server в DevOps или непрекъсната интеграция с CI/CD конвейери, базирани на Jenkins или Team City. Днес можете да се запознаете с използването на контейнери във всички издания на Windows 8 и Windows 10, Windows Server 2012 или Windows Server 2016 с поддръжка за всички издания, започващи от SQL Server 2008, като използвате вашето копие на WinDocks Community Edition (https://www.windocks .com/community-docker-windows).

В днешния Задайте въпрос на администратор, ще ви покажа как да разположите изображение в контейнер на Windows Server 2016, да създадете ново изображение и да го качите в Docker.

Една от основните нови функции в Windows Server 2016 е поддръжката за контейнери и Docker. Контейнерите осигуряват леко и гъвкаво изживяване за виртуализация, което разработчиците могат да използват за бързо разгръщане и актуализиране на приложения без допълнителни разходи за виртуални машини. И в съчетание с Docker, решение за управление на контейнери, контейнерната технология експлодира през последните няколко години.

Това е актуализация на информацията, която преди това беше включена в Разгръщане и управление на контейнери на Windows Server с Docker, която беше актуална за Windows Server 2016 Technical Preview 3. За повече информация относно Docker вижте Какво е Docker? и По-добри ли са Docker контейнерите от виртуалните машини? на База от технически знания на Petri IT.

За да следвате инструкциите в тази статия, ще ви е необходим достъп до физически или виртуален сървър с Windows Server 2016. Можете да изтеглите пробно копие от уебсайта на Microsoft или да настроите виртуална машина на Microsoft Azure. Ще ви е необходим и безплатен Docker ID, който можете да получите, като се регистрирате.

Инсталирайте Docker Engine

Първата стъпка е да инсталирате поддръжката на Docker на Windows Server 2016.

  • Влезте в Windows Server.
  • Щракнете върху Търсенеикона и тип на лентата на задачите PowerShellв полето за търсене.
  • Кликнете с десния бутон Windows PowerShellв резултатите от търсенето и изберете Изпълни като администраторот менюто.
  • Въведете администраторски идентификационни данни, когато бъдете подканени.

За да инсталирате Docker на Windows Server, изпълнете следния командлет на PowerShell. Ще бъдете подканени да инсталирате NuGet, който изтегля модула Docker PowerShell от надеждно онлайн хранилище.

Install-Module -Име DockerMsftProvider -Force

Сега използвайте Инсталационен пакет cmdlet за инсталиране на двигателя Docker на Windows Server. Имайте предвид, че е необходимо рестартиране в края на процеса.

Инсталиране-пакет -Име докер -Име на доставчика DockerMsftProvider -Принудително рестартиране-Компютър -Принудително

След рестартиране на сървъра, стартирайте отново подканата PowerShell и проверете дали Docker е инсталиран, като изпълните следната команда:

докер версия

Изтеглете изображение от Docker и стартирайте процес на контейнер

Сега, когато двигателът на Docker е инсталиран, нека изтеглим изображението на Windows Server Core по подразбиране от Docker:

docker pull microsoft/windowsServerCore

След като изображението е качено на локалния сървър, стартирайте процеса на контейнера с помощта на стартиране на докер:

Docker стартирайте Microsoft /windowsServerCore

Създайте ново изображение

Вече можем да създадем ново изображение, като използваме предварително изтегленото изображение на Windows Server като отправна точка. Ще ви е необходим Docker ID, преди да стартирате. Ако все още го нямате, регистрирайте се за акаунт в Docker.

Спонсорите

Изображенията на Docker обикновено се изграждат от Dockerfile рецепти, но за целите на демонстрацията изпълняваме команда върху каченото изображение, създаваме ново изображение въз основа на промяната и след това го качваме в Docker, така че да е достъпно от облака.

Имайте предвид, че в командния ред по-долу Параметърът дава етикета на изображението, което ви позволява лесно да идентифицирате изображението. Също така, обърнете специално внимание на тирето, което се появява след името на етикета.

„ОТ Microsoft /windowsservercore `n CMD echo Hello World!“ | docker build -t mydockerid /windows-test-image -

След като Docker приключи създаването на новото изображение, проверете списъка с налични изображения на локалния сървър. Трябва да видите и двете. Microsoft /windowsServerCoreИ mydockerid /windows-test-imagesв списъка.

докер изображение

Сега стартирайте ново изображение в контейнера, като не забравяте да замените мидокеридс вашия Docker ID и трябва да видите Здравей свят!Появява се на изхода:

docker стартирайте mydockerid /windows-test-images

Качете изображение в Docker

Нека качим изображението, което току-що създадохме, в Docker, така че да е достъпно от облака. Влезте с вашия Docker ID и парола:

Влезте в docker -u mydockerid -p моята парола

употреба натискане на докерза да качите изображението, което създадохме в предишните стъпки, като замените мидокеридс името на вашия Docker ID:

Docker push mydockerid /windows-test-images

*nix системите внедряват многозадачност и предлагат инструменти за изолиране и контрол на процеси. Технологии като chroot(), който осигурява изолация на ниво файлова система, FreeBSD Jail, който ограничава достъпа до структурите на ядрото, LXC и OpenVZ, отдавна са известни и широко използвани. Но тласъкът в развитието на технологията беше Docker, който направи възможно удобното разпространение на приложения. Сега това си проправи път към Windows.

Контейнери на Windows

Съвременните сървъри са свръхпроизводителни и приложенията понякога не използват дори части от тях. В резултат на това системите „работят на празен ход“ известно време, загрявайки въздуха. Решението беше виртуализацията, която ви позволява да стартирате няколко операционни системи на един сървър, гарантирано да ги споделяте помежду си и да разпределяте правилното количество ресурси за всяка. Но напредъкът не стои на едно място. Следващият етап са микросервизите, когато всяка част от приложението се разгръща отделно, като самодостатъчен компонент, който може лесно да се мащабира до желаното натоварване и да се актуализира. Изолацията не позволява на други приложения да се намесват в микроуслугата. С появата на проекта Docker, който опрости процеса на пакетиране и доставяне на приложения заедно със средата, архитектурата на микросервизите получи допълнителен тласък в развитието.

Контейнерите са друг вид виртуализация, която осигурява отделна среда за стартиране на приложения, наречена виртуализация на ОС. Контейнерите се реализират чрез използване на изолирано пространство от имена, което включва всички ресурси (виртуализирани имена), необходими за работа, с които можете да взаимодействате (файлове, мрежови портове, процеси и т.н.) и които не можете да надхвърлите. Тоест ОС показва на контейнера само това, което е избрано. Приложението вътре в контейнера смята, че е единственото и работи в пълноценна ОС без никакви ограничения. Ако е необходимо да промените съществуващ файл или да създадете нов, контейнерът получава копия от основната хост ОС, като запазва само променените части. Следователно разполагането на множество контейнери на един хост е много ефективно.

Разликата между контейнерите и виртуалните машини е, че контейнерите не зареждат свои собствени копия на ОС, библиотеки, системни файлове и т.н. Операционната система като че ли е споделена с контейнера. Единственото допълнително изискване са ресурсите, необходими за стартиране на приложението в контейнера. В резултат на това контейнерът стартира за няколко секунди и зарежда системата по-малко, отколкото при виртуалните машини. В момента Docker предлага 180 000 приложения в хранилището, а форматът е унифициран от Open Container Initiative (OCI). Но зависимостта от ядрото предполага, че контейнерите няма да работят в друга ОС. Linux контейнерите изискват Linux API, така че Windows няма да работи на Linux.

Доскоро разработчиците на Windows предлагаха две технологии за виртуализация: виртуални машини и виртуални приложения Server App-V. Всеки има своя собствена ниша на приложение, своите плюсове и минуси. Сега гамата стана по-широка - контейнерите (Windows Server Containers) бяха обявени в Windows Server 2016. И въпреки че по времето на TP4 разработката все още не беше завършена, вече е напълно възможно да се види новата технология в действие и да се направят изводи. Трябва да се отбележи, че наваксвайки и разполагайки с готови технологии, разработчиците на MS отидоха малко по-далеч в някои въпроси, така че използването на контейнери стана по-лесно и по-гъвкаво. Основната разлика е, че се предлагат два вида контейнери: Windows контейнери и Hyper-V контейнери. В TP3 бяха налични само първите.

Контейнерите на Windows използват същото ядро ​​като ОС, което се споделя динамично помежду си. Процесът на разпространение (CPU, RAM, мрежа) се поема от ОС. По избор можете да ограничите максималните налични ресурси, разпределени за контейнер. Файловете на ОС и работещите услуги са съпоставени с пространството от имена на всеки контейнер. Този тип контейнер използва ресурсите ефективно, намалявайки режийните разходи и следователно позволява на приложенията да се поставят по-плътно. Този режим донякъде напомня на FreeBSD Jail или Linux OpenVZ.

Hyper-V контейнерите осигуряват допълнителен слой на изолация с Hyper-V. На всеки контейнер се разпределя собствено ядро ​​и памет, изолацията не се извършва от ядрото на ОС, а от хипервизора Hyper-V. Резултатът е същото ниво на изолация като виртуалните машини, с по-малко разходи от VM, но повече от контейнер на Windows. За да използвате този тип контейнер, трябва да инсталирате ролята на Hyper-V на хоста. Контейнерите на Windows са по-подходящи за използване в надеждна среда, като например когато приложения от една и съща организация се изпълняват на сървър. Когато сървърът се използва от множество компании и е необходима повече изолация, Hyper-V контейнерите вероятно ще имат повече смисъл.

Важна характеристика на контейнерите в Win 2016 е, че типът не се избира в момента на създаване, а в момента на внедряването. Тоест всеки контейнер може да бъде стартиран както като Windows, така и като Hyper-V.

В Win 2016, слоят за абстракция на стека за управление на контейнери отговаря за контейнерите, който изпълнява всички необходими функции. За съхранение се използва форматът на изображението на твърдия диск VHDX. Контейнерите, както в случая с Docker, се съхраняват като изображения в хранилището. Освен това всеки записва не пълен набор от данни, а само разликите между създаденото изображение и основното изображение и в момента на стартиране всички необходими данни се проектират в паметта. Virtual Switch се използва за управление на мрежовия трафик между контейнера и физическата мрежа.

Операционната система в контейнера може да бъде Server Core или Nano Server. Първият, като цяло, не е новост от дълго време и осигурява високо ниво на съвместимост със съществуващите приложения. Втората е още по-съкратена версия за работа без монитор, която ви позволява да стартирате сървъра в най-малката възможна конфигурация за използване с Hyper-V, файлов сървър (SOFS) и облачни услуги. Графичният интерфейс, разбира се, липсва. Съдържа само най-необходимите компоненти (.NET с CoreCLR, Hyper-V, клъстериране и т.н.). Но в крайна сметка заема 93% по-малко място, изисква по-малко критични поправки.

Друг интересен момент. За да управлявате контейнери, в допълнение към традиционния PowerShell, можете да използвате и Docker. И за да направи възможно стартирането на други помощни програми на Win, MS си партнира за разширяване на API на Docker и набор от инструменти. Всички разработки са отворени и достъпни в официалния GitHub на проекта Docker. Командите за управление на Docker се прилагат за всички контейнери, както Win, така и Linux. Въпреки че, разбира се, контейнер, създаден на Linux, не може да бъде стартиран в Windows (както и обратното). В момента PowerShell е с ограничена функционалност и ви позволява да работите само с локално хранилище.

Инсталиране на контейнери

Azure разполага с необходимото изображение на Windows Server 2016 Core с Containers Tech Preview 4, което можете да разположите и използвате за изследване на контейнери. В противен случай трябва да конфигурирате всичко сами. За локална инсталация ви трябва Win 2016 и тъй като Hyper-V в Win 2016 поддържа вложена виртуализация (вложена виртуализация), тя може да бъде или физически, или виртуален сървър. Процесът на инсталиране на компонента е стандартен. Изберете подходящия елемент в съветника за добавяне на роли и функции или, като използвате PowerShell, издайте командата

PS>Контейнери за инсталиране на функции на Windows

В процеса ще бъде инсталиран и мрежовият контролер на Virtual Switch, той трябва да бъде конфигуриран незабавно, в противен случай по-нататъшните действия ще генерират грешка. Разглеждаме имената на мрежовите адаптери:

PS> Get-NetAdapter

За да работим, се нуждаем от контролер с тип External. Командлетът New-VMSwitch има много параметри, но за пример, нека да минем с минимални настройки:

PS> Нов-VMSwitch -Име Външен -NetAdapterName Ethernet0

Ние проверяваме:

PS> Вземете VMSwitch | където ($_.SwitchType –eq "Външен")

Защитната стена на Windows ще блокира връзките към контейнера. Следователно, трябва да създадете правило за разрешаване, поне за възможността за отдалечено свързване с помощта на PowerShell дистанционно, за това ще разрешим TCP / 80 и ще създадем NAT правило:

PS> New-NetFirewallRule -Име "TCP80" -DisplayName "HTTP on TCP/80" -Protocol tcp -LocalPort 80 -Action Allow -Enabled True PS> Add-NetNatStaticMapping -NatName "ContainerAdNat" -ExternalAddressTCP -0.00IP. Вътрешен IP адрес 192.168.1.2 - Вътрешен порт 80 - Външен порт 80

Има и друга проста опция за внедряване. Разработчиците са подготвили скрипт, който ви позволява да инсталирате всички зависимости автоматично и да конфигурирате хоста. Можете да го използвате, ако желаете. Параметрите в скрипта ще ви помогнат да разберете всички механизми:

PS> https://aka.ms/tp4/Install-ContainerHost -OutFile C:\Install-ContainerHost.ps1 PS> C:\Install-ContainerHost.ps1

Има и друг вариант - да разположите готова виртуална машина с поддръжка на контейнери. За да направите това, на същия ресурс има скрипт, който автоматично извършва всички необходими операции. Подробни инструкции са дадени в MSDN. Изтеглете и стартирайте скрипта:

PS> wget -uri https://aka.ms/tp4/New-ContainerHost -OutFile c:\New-ContainerHost.ps1 PS> C:\New-ContainerHost.ps1 –VmName WinContainer -WindowsImage ServerDatacenterCore

Името е произволно и -WindowsImage указва типа на изображението, което се изгражда. Опциите може да са NanoServer, ServerDatacenter. Docker също се инсталира незабавно, параметърът SkipDocker и IncludeDocker е отговорен за неговото отсъствие или присъствие. След стартиране изображението ще започне да се зарежда и конвертира, в процеса ще трябва да посочите парола за влизане във VM. Самият ISO файл е доста голям, почти 5 GB. Ако каналът е бавен, файлът може да бъде изтеглен на друг компютър, след това преименуван на WindowsServerTP4 и копиран в C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks. Можем да влезем в инсталираната виртуална машина, като посочим паролата, зададена по време на сглобяване и работа.

Сега можете да преминете директно към използването на контейнери.

Използване на контейнери с PowerShell

Модулът Containers съдържа 32 командлета PowerShell, документацията за някои от които все още е непълна, въпреки че като цяло е достатъчна, за да може всичко да работи. Списъкът е лесен за получаване:

PS> Контейнери на модула Get-Command

Можете да получите списък с наличните изображения, като използвате командлета Get-ContainerImage, контейнери - Get-Container. В случай на контейнер, колоната Статус ще покаже текущото му състояние: спряно или работещо. Но докато технологията е в процес на разработка, MS не е предоставила хранилище и, както споменахме, докато PowerShell работи с локално хранилище, така че ще трябва да го създадете сами за експерименти.

И така, имаме сървър с поддръжка, сега се нуждаем от самите контейнери. За да направите това, ние задаваме доставчика на пакети ContainerProvider.

Продължава достъпно само за членове

Вариант 1. Присъединете се към общността на "сайта", за да прочетете всички материали на сайта

Членството в общността през посочения период ще ви даде достъп до ВСИЧКИ хакерски материали, ще увеличи вашата лична кумулативна отстъпка и ще ви позволи да натрупате професионален рейтинг на Xakep Score!

Контейнерите в Microsoft Windows Server 2016 са разширение на технологията за клиентите. Microsoft планира разработване на клиенти, внедряване и вече контейнерен хостинг на приложения като част от процеса на разработка.

Тъй като степента на внедряване на приложения продължава да се увеличава и клиентите използват внедряване на версии на приложения на дневна или дори почасова база, възможността за бързо внедряване на приложения за валидиране на клавиатурата на разработчиците в производството е от решаващо значение за успеха на бизнеса. Този процес се ускорява от контейнерите.

Докато виртуалните машини имат способността да преместват приложения през центрове за данни и към и от облака, ресурсите за виртуализация се отключват допълнително от контейнери, използвайки виртуализация на ОС (системен софтуер). Това решение, благодарение на виртуализацията, ще позволи бърза доставка на приложения.

Windows Technology Container включва два различни типа контейнери, Windows Server Container и Hyper-V контейнери. И двата типа контейнери се създават, управляват и функционират по един и същи начин. Те дори произвеждат и консумират едно и също изображение на контейнер. Те се различават помежду си по нивото на изолация, създадено между контейнера, операционната система на хоста и всички други контейнери, работещи на хоста.

Windows Server контейнери: Множество екземпляри на контейнера могат да работят едновременно на хост с изолация, предоставена чрез пространство от имена, управление на ресурси и технологии за изолация на процеси. Контейнерите на Windows Server споделят едно и също ядро, хоствани.

Hyper-V контейнери: Множество екземпляри на контейнера могат да работят едновременно на хост. Въпреки това, всеки контейнер е внедрен в специална виртуална машина. Това осигурява изолация на ниво ядро ​​между всеки Hyper-V контейнер и хост контейнера.

Microsoft включи в контейнера набор от инструменти на Docker за управление не само на Linux контейнери, но и на Windows Server и Hyper-V контейнери. Като част от сътрудничество в общностите на Linux и Windows, опитът на Docker беше разширен чрез създаване на модул PowerShell за Docker, който вече е с отворен код. Модулът PowerShell може да управлява Linux и Windows Sever контейнери локално или отдалечено, използвайки Docker REST API. Разработчиците са доволни от иновациите за клиентите чрез разработка на нашата платформа с отворен код. В бъдеще планираме да предоставим технология на нашите клиенти заедно с иновации като Hyper-V.

Купете Windows Server 2016

Предлагаме ви да закупите Windows Server 2016 с отстъпка от официалния партньор на Microsoft в Русия - компания DATASYSTEM. Ще имате възможност да получите съвет, както и да изтеглите безплатно Windows Server 2016 за тестване, като се свържете с нашите специалисти по техническа поддръжка. Windows Server 2016 цена при поискване. Можете да получите търговско предложение за участие в закупуването на Windows Server 2016 при поискване на имейл: