Docker и контейнеры (часть 7) — Другие инструменты для управления контейнерами Windows Server

Опубликовано: 18 Апреля, 2023

  • Docker и контейнеры (часть 4) — реализация контейнеров Windows Server

В этой короткой серии статей мы начали с изучения основ реализации контейнерной виртуализации в готовящейся к выпуску операционной системе Windows Server 2016. Затем мы рассмотрели две разные «разновидности» контейнерной технологии, появившиеся в Windows Server 2016, а именно контейнеры Windows Server и контейнеры Hyper-V. Затем в прошлой статье мы узнали немного о том, как вы можете использовать Windows PowerShell для выполнения различных задач с контейнерами Windows Server. Но Windows PowerShell — не единственный набор инструментов или платформа, которую вы можете использовать для управления контейнерами Windows Server, и в этой статье мы собираемся изучить несколько других вариантов, доступных вам для достижения этой цели.

Управление контейнерами Windows Server с помощью Docker

Как описано ранее во второй части этой серии статей, Docker — это набор инструментов, решений и облачных сервисов с открытым исходным кодом, которые обеспечивают общую модель упаковки (контейнеризации) кода приложения в образы, которые можно легко распространять и развертывать на хост-компьютерах.. Docker изначально создавался для платформы Linux и был разработан таким образом, чтобы работать таким образом, независимо от того, на какой версии Linux работают ваши хост-компьютеры. Однако с момента своего создания Docker расширил свою функциональность за счет партнерства с облачными решениями, такими как Amazon Web Services (AWS) и Microsoft Azure, а также с поставщиками платформ, такими как IBM и Hewlett Packard Enterprise (HPE).

Хотя вы можете установить Docker для Windows и/или Docker Toolbox изначально в системе Windows Server, это позволит настроить настольный компьютер, на котором можно запускать контейнеры Docker Linux непосредственно в Windows. Но что, если вы хотите запускать контейнеры Windows Server вместо контейнеров Linux? Пригодится ли Docker в этом случае? Да, это так, хотя вы можете использовать Windows PowerShell для создания и управления контейнерами Windows Server, если вы уже знакомы с использованием Docker для управления контейнерами Linux, вы можете использовать свои знания и опыт, используя Docker для управления контейнерами Windows Server. Для достижения этой цели вы можете установить Docker Engine и другие инструменты экосистемы Docker непосредственно на системы, работающие под управлением Windows Server 2016 Technical Preview (TP), которая на момент написания этой статьи находилась в выпуске TP5. В качестве альтернативы вы можете развернуть узел контейнера Windows Server с установленным Docker Engine, а затем управлять им удаленно с клиентского компьютера, на котором установлены инструменты разработки и редакторы Docker. В любом случае, настроив Windows Server 2016 TP5 для работы с Docker, вы сможете создавать образы Docker в Windows и запускать контейнерные приложения, изолированные в контейнерах Windows Server. Windows Server 2016 TP5 даже включает полную поддержку двухтактных образов Docker на базе Windows Server на основе Docker Hub, чтобы вы могли делиться своими образами с сообществом Docker. Вы можете найти некоторые из предварительных образов Docker на базе Windows Server от Microsoft в Docker Hub здесь. Дополнительную информацию о том, как настроить и запустить Docker для управления контейнерами Windows Server в Windows Server 2016 TP5, можно найти в этой публикации Майкла Фрииса в блоге Docker.

Контейнерами Windows Server можно управлять с помощью Docker двумя способами. Во-первых, вы можете просто запускать отдельные команды Docker в командной строке в системе с установленным Docker Engine. Такие команды, как docker version, docker run, docker history, docker ps и т. д., позволяют выполнять широкий спектр задач по установке, настройке и управлению контейнерами Windows Server. Во-вторых, вы можете использовать Docker, чтобы автоматизировать большую часть управления контейнером Windows Server с помощью файлов Dockerfile, которые представляют собой текстовые файлы, содержащие инструкции по созданию новых образов контейнеров. Инструкции в этих файлах Docker запускаются с помощью команды сборки docker, которая является ключевой командой для автоматизации задач управления Docker. У Нила Петерсона есть полезное пошаговое руководство по этому вопросу в его статье Dockerfile для Windows, которую можно найти здесь, в MSDN.

И, конечно же, теперь вы можете делать все это в Microsoft Azure, поскольку Microsoft предоставила шаблон виртуальной машины для развертывания Windows Server 2016 Core с Containers Tech Preview 5, как показано на следующем рисунке:

Развертывание Windows Server 2016 Core с Containers Tech Preview 5 в Microsoft Azure.

Поэтому, если у вас есть пробная подписка Microsoft Azure или подписка MSDN, вы можете бесплатно настроить контейнеры Windows Server. Вы также можете просто установить Windows Server 2016 TP5 либо на физическую систему, либо в Microsoft Azure, а затем настроить и использовать Docker вручную, как подробно описано в этом сообщении в блоге MSDB, написанном Жюльеном Кориоландом.

Еще один, еще более новый вариант управления контейнерами Windows Server с помощью Docker в Microsoft Azure, включает в себя Docker Datacenter, решение от Docker, которое предоставляет контейнеры как услугу (CaaS), что позволяет легко создавать, поставлять и запускать любое приложение в любом месте. При создании новой виртуальной машины с помощью Azure Marketplace теперь у вас есть возможность развернуть Docker Datacenter, как показано на следующем рисунке.

Развертывание Docker Datacenter с помощью Azure Marketplace.

Полное описание того, что такое Docker Datacenter, см. на этой странице веб-сайта Docker.

Управление контейнерами Windows Server с помощью графического интерфейса

Управление контейнерами Windows Server с помощью Docker, вероятно, будет наиболее привлекательным для тех ИТ-отделов и организаций, которые уже используют Docker Linux или знакомы с этой платформой. Тем не менее, администраторам Windows Server, не имевшим опыта работы с Docker, лучше научиться управлять контейнерами Windows Server с помощью технологии, с которой они уже знакомы (или должны быть знакомы), а именно с Windows PowerShell. Но что, если вы администратор Windows, а PowerShell не совсем ваша чашка чая, и вы не чувствуете себя уверенно, используя его? Есть ли способ настроить и работать с контейнерами Windows Server с помощью графического интерфейса на сервере Windows Server 2016?

К сожалению, в Windows Server 2016 TP5 ответ на этот вопрос по-прежнему отсутствует. Но это не значит, что вам в этом отношении совсем не повезло, так уж случилось, что Дэррил ван дер Пейл, Microsoft MVP из Амстердама, создал инструмент на основе графического интерфейса под названием Windows Server Container Manager, который вы можете скачать. здесь из галереи TechNet и тест-драйва Windows Server 2016 Technical Preview 3 и более поздних версий. У Дэррила есть скриншот этого инструмента в этом посте в Твиттере, который вы можете посмотреть, что дает вам некоторое представление о том, как выглядит этот (все еще довольно грубый) инструмент. Инструмент Дэррила последний раз обновлялся в мае этого года, и мы надеемся, что он продолжит его улучшать, чтобы он мог быть полезен тем, кому он может понадобиться, когда Windows Server 2016 станет общедоступной (GA). У Дэррила также есть блог, который вы должны проверить, если вы каким-либо образом работаете с Azure (его блог на английском языке).

Последние мысли

Docker и контейнеры продолжают наращивать мощность и функциональность на платформе Windows, и эта серия была разработана, чтобы помочь вам начать работу с ними, особенно с контейнерами Windows Server, которые скоро появятся в Windows Server 2016. Я еще вернусь к некоторым из этих тем. более подробно в будущем в некоторых из моих будущих статей здесь, на VirtualizationAdmin.com.

  • Docker и контейнеры (часть 4) — реализация контейнеров Windows Server
  • Докер и контейнеры (Часть 6)