Руководство по контейнерам Docker в Windows Server 2016

Опубликовано: 6 Марта, 2023
Руководство по контейнерам Docker в Windows Server 2016

Контейнеры Docker, которые уже штурмовали рынок, получили большой импульс в сентябре, когда компания объявила о коммерческом партнерстве с Microsoft. Ожидается, что сделка, расширяющая движок Docker для Windows Server, удвоит размер и без того быстрорастущего рынка контейнеров.

Понимание контейнеров

Если вы читаете это, скорее всего, вы уже понимаете, что такое контейнеры Docker. Если это так, не стесняйтесь пропустить вперед, чтобы узнать, что это значит для вас и как запускать контейнеры в Windows. Но для новичков в Docker вот некоторая справочная информация.

Docker был запущен всего три года назад, в 2013 году, но уже стал чрезвычайно популярным. Одна из причин, по которой контейнеры сразу же получили такую широкую поддержку, заключалась в том, что компания может размещать гораздо больше приложений на физическом сервере с контейнерами, а не с виртуальными машинами (ВМ).

По сути, это связано с тем, что виртуальные машины используют гораздо больше системных ресурсов, таких как ОЗУ и циклы ЦП. В то время как контейнеру по существу нужна только совместимая операционная система и вспомогательные программы, библиотеки и ресурсы, виртуальной машине требуется гораздо больше.

Виртуальные машины должны виртуально воспроизводить системное оборудование для работы. Но поскольку контейнеры используют общие операционные системы вместо виртуализированного оборудования, вы можете разместить гораздо больше приложений на одном сервере с помощью контейнеров.

Не только это, контейнеры также создают операционную систему, которая совместима между машинами и может использоваться для разработки, тестирования и развертывания.

Конечно, это не значит, что они лучше виртуальных машин. Они просто для разных целей. При использовании Docker каждый контейнер должен использовать одну и ту же операционную систему и ядро. Упрощенно, контейнеры для вас, если вам нужно несколько копий одного и того же приложения.

Есть несколько причин, по которым Docker быстро взлетела вверх и стабильно остается одной из ведущих контейнерных компаний. Docker изменил способ развертывания контейнеров, сделав его более безопасным и простым.

С помощью Docker можно создавать разные среды, такие как работающий сервер, для целей разработки и позволять пользователям на разных компьютерах работать над одним и тем же проектом без необходимости изменять настройки или тратить часы на настройку среды самостоятельно.

Docker отмечает, что «в среднем пользователи Docker отправляют в 7 раз больше программного обеспечения после развертывания Docker в своей среде». Кроме того, с помощью Docker легко «выявлять проблемы, изолировать проблемный контейнер, быстро выполнять откат для внесения необходимых изменений, а затем запускать обновленный контейнер в рабочую среду. Изоляция между контейнерами делает эти изменения менее разрушительными, чем в традиционных моделях программного обеспечения».

Контейнеры Docker в Windows Server 2016

Изображение 718 Теперь, когда вы хорошо поняли, что такое контейнеры Docker (или вы уже знали), давайте посмотрим, что это значит для пользователей Windows.

До этого контейнеры Docker были эксклюзивными только для Linux. Однако с этим новым партнерством они будут работать на будущих серверах Windows. А что может быть лучше, чем возможность запуска контейнеров Docker на вашем компьютере с Windows? Запуск бесплатно!

После двух лет совместной разработки это коммерческое партнерство влечет за собой несколько конкретных вещей. Во-первых, коммерчески поддерживаемый Docker Engine, или «CS Docker Engine», будет доступен клиентам Windows Server 2016 без дополнительной платы.

Решая некоторые проблемы пользователей с поддержкой Docker, Microsoft предоставит клиентам Windows Server 2016 корпоративную поддержку CS Docker Engine при поддержке Docker Inc.

Изображение 719 Кроме того, Docker и Microsoft будут совместно способствовать обеспечению большей безопасности, продвигая Docker Datacenter. Это поможет «ИТ-специалистам защитить цепочку поставок программного обеспечения Windows Server и управлять контейнерными рабочими нагрузками Windows Server, будь то локально, в облаке или гибридно», — говорит Докер.

Партнерство также включает интеграцию инструментов Visual Studio для Docker и Docker для Windows. Это дает разработчикам полные среды разработки настольных компьютеров для создания Dockerized приложений для Windows.

Согласно сайту Docker, Microsoft также предоставила Docker Hub образы и приложения на основе контейнеров Windows Server, чтобы ускорить разработку приложений. А для ИТ-специалистов Docker Datacenter позволяет управлять средами Windows Server в дополнение к средам Linux, которыми он уже управляет.

Платформа Docker «представляет собой единый набор инструментов, API и форматов изображений для управления приложениями как для Linux, так и для Windows». Как говорит Майкл Фриис из Docker: «Поскольку приложения и серверы для Linux и Windows докеризуются, разработчики и ИТ-специалисты могут преодолеть разрыв между операционными системами с помощью общей терминологии и интерфейсов Docker для управления и развития сложных развертываний микросервисов как локально, так и в облаке. ».

Как использовать новые контейнеры Docker в Windows

Есть несколько вещей, которые нужно понять о том, как запускать контейнеры в Windows. Команда «docker run» изначально доступна в Docker для Windows, и терминология не сильно изменилась между операционными системами. Кроме того, как в Linux можно запускать разные профили безопасности, так и в Windows.

Согласно веб-сайту Docker, доступны два режима изоляции:

  1. «Контейнеры Windows Server используют ту же парадигму изоляции процессов с общим ядром, известную в Linux. Поскольку контейнеры работают как обычные (но изолированные) процессы, запуск происходит быстро, а накладные расходы на ресурсы минимальны».
  2. «С изоляцией Hyper-V процессы контейнера выполняются внутри очень минимального гипервизора, созданного во время запуска контейнера. Это дает потенциально лучшую изоляцию за счет более медленного запуска и некоторых накладных расходов на ресурсы».

Таким образом, образ контейнера Windows можно запускать с использованием любого из этих режимов изоляции, если базовый хост поддерживает запрошенный режим изоляции. Кроме того, оба этих хоста могут работать одновременно, а API-интерфейс управления Docker одинаков для обоих режимов.

Как правило, разработчикам не нужно беспокоиться об этом, и они могут просто использовать обычную команду «docker run», не нуждаясь в дополнительном «docker run –isolation=hyperv microsoft/nanoserver». Тем не менее, режим изоляции полезен для ИТ-специалистов, чтобы решить, как развертывать контейнерные приложения в рабочей среде.

Docker поясняет, что «хотя Hyper-V — это технология времени выполнения, обеспечивающая изоляцию Hyper-V, изолированные контейнеры Hyper-V не являются виртуальными машинами Hyper-V и не могут управляться с помощью классических инструментов Hyper-V».

Для получения дополнительной информации есть несколько отличных руководств по созданию образов контейнеров Windows, пониманию внутренних механизмов переноса контейнеров Docker в Windows, документации по контейнерам Windows и почти всему остальному, что вам нужно знать.