Больше не новички: запуск ваших первых контейнеров Windows Server

Опубликовано: 16 Апреля, 2023
Больше не новички: запуск ваших первых контейнеров Windows Server

Используя контейнеры, мы можем упаковать и изолировать приложение, и все требования данного приложения находятся внутри его контейнера. Это дает вашей компании большую гибкость, потому что мы можем легко перемещать приложение/контейнер и создавать новые контейнеры всего за несколько секунд. Когда я говорю «переместить», я имею в виду, что мы можем перемещаться практически куда угодно, включая ноутбук, сервер и облако. Если вы не знакомы с контейнерными технологиями, я написал здесь, на TechGenix, вводную статью о контейнерах для ИТ-специалистов. Хотя контейнерная технология родилась в Linux, Microsoft приняла ее, и в настоящее время она встроена в Windows Server 2016, Windows 10, а также в несколько предложений в Microsoft Azure. Docker — это имя, которое ассоциируется с контейнерами благодаря его вкладу и инновациям в этой области, изначально поддерживается в Windows Server и использует все функции, доступные в операционных системах Microsoft. На самом деле все Windows Server 2016 имеют доступ к Docker Enterprise Edition (EE) в рамках этой интеграции. Microsoft предлагает два типа контейнеров: и .

Используя , мы используем общее ядро от хоста, и любой контейнер, работающий на этой модели, требует такого же ядра хоста, и основная причина — это общее ядро. — это дополнительный уровень безопасности, где каждый контейнер имеет свою собственную среду и собственное ядро. Поскольку у них есть собственная среда, мы можем позволить себе разные ядра в контейнерах на одном хосте.

В этой статье мы рассмотрим процесс установки Docker на Windows Server 2016 и то, как загрузить (в мире Docker это называется «pull») первый образ и развернуть наши контейнеры Windows Server.

Получение докера

Первым шагом в запуске наших контейнеров Windows Server является загрузка Docker для Windows Server, и лучший способ сделать это — использовать Docker Store. Для скачивания нам нужна учетная запись. Эту же учетную запись можно использовать для входа в Docker Hub, что позволяет управлять образами.

Мы можем скачать Docker (мы доберемся до этого чуть позже), но для этого потребуются дополнительные действия и как минимум один дополнительный перезапуск сервера. Если вы хотите сэкономить время, можно выполнить следующие командлеты PowerShell, чтобы установить все необходимые компоненты для поддержки Docker в Windows Server 2016 (командлеты показаны на изображении ниже).

Get-WindowsFeature *Hyper*
Get-WindowsFeature *контейнер*
Add-WindowsFeature Containers, Hyper-V -IncludeAllSubFeature -IncludeManagementTools
Перезапустить компьютер

Следующим шагом будет вход в Docker Store. Если у вас нет учетной записи, самое время ее создать. Выбранное имя будет использоваться при использовании репозитория. Чтобы загрузить, нажмите Docker CE (где CE для Community Edition, а EE для Enterprise Edition), расположенный на серой панели прямо под полем поиска.

Выберите из списка и на новой странице нажмите Get Docker. Запустите загруженный установщик, нажмите на первую страницу и выберите оба параметра: и , нажмите « ОК» и дождитесь завершения процесса. Да! Это так просто! Нажмите «Закрыть» и выйдите из системы.

После повторного входа в Windows Server вы заметите два изменения. Во-первых, у нас есть два новых сервиса: и . Также в области уведомлений есть значок Docker.

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

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

Использование Docker-клиента

До сих пор наше внимание было сосредоточено на демоне Docker, где мы установили механизм Docker на нашем Windows Server 2016. С этого момента мы будем использовать для взаимодействия с демоном Docker, используя RestAPI за кулисами для управления объектами Docker.

Чтобы управлять Docker, откройте сеанс PowerShell и введите docker info, и имейте в виду, что все взаимодействия с клиентом Docker будут начинаться с docker <something>. Информация о Docker предоставит действительно полезную информацию, такую как количество контейнеров (обобщенное и общее количество в зависимости от их состояния, которое может быть любым из следующих состояний: запущено, приостановлено или остановлено), а также дополнительную информацию о сервере. подробно по мере того, как мы расширяем наши знания о Docker.

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

Развертывание ваших первых контейнеров Windows Server

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

докер поиск майкрософт
докер вытащить microsoft/iis

Теперь, когда у нас есть наш первый образ в локальном хранилище, мы можем выполнить команду docker image list, которая выведет список всех существующих образов. После этого мы можем создать наш первый контейнер на основе образа, который мы только что вытащили из реестра. Мы можем запустить следующую команду, чтобы создать контейнер, где -d означает работу в фоновом режиме, а вывод будет идентификатором контейнера, а –name — это метка, которую мы определяем для этого контейнера. Мы также указываем порт хоста 80 для сопоставления с этим конкретным контейнером на том же порту 80 при использовании -p 80:80.

docker container run -d –name webserver -p 80:80 microsoft/iis

После запуска и запуска контейнера мы можем перечислить текущие контейнеры, используя список контейнеров докеров, и он даст краткое описание всех существующих контейнеров, используемых портов, имен, службы (команды), изображения, идентификатор контейнера и как долго данный контейнер работает.

На данный момент у нас есть запущенный контейнер, и, поскольку мы знаем, что это приложение IIS, логический тест — открыть браузер и протестировать его. Поскольку мы настроили весь конвейер для использования порта 80 от хоста к порту контейнера, когда мы определили -p 80:80, поэтому нам просто нужно открыть браузер с хоста и ввести http://localhost.

Подведение итогов

Мы только что коснулись контейнеров Windows Server. Хотя цель этой статьи — представить контейнеры в Microsoft Windows Server, имейте в виду, что Docker можно установить в Windows, Linux, Apple, но, по моему скромному мнению, ключевым местом для запуска вашего контейнера является облако и Microsoft Azure. идеально подходит для этого со всеми их предложениями, касающимися контейнеров, реестра и оркестровки.

Имейте в виду, что мы только что загрузили ранее существовавший образ из общедоступного реестра и запустили веб-сервер за считанные секунды, но есть гораздо больше, чтобы помочь организациям ускорить и улучшить свои приложения. Используя контейнеры, мы можем обеспечить надежную интеграцию DevOps, что упрощает процесс развертывания программного обеспечения в вашей среде и процесс обновления, особенно когда мы начинаем использовать технологии оркестровки поверх контейнеров Windows Server.