- PVSM.RU - https://www.pvsm.ru -

Linux-контейнеры для Windows

Скоро выйдет новое большое обновление для операционной системы Windows Server, в начале сентября в блоге TechNet вышел небольшой пост [1] об этом, и некоторые ее новые функции порадуют пользователей Docker. Одна из главных новостей заключается в том, что
благодаря технологии Hyper-V, Docker теперь сможет выполнять Linux-контейнеры в Windows, аналогично Hyper-V Windows контейнерам.

Linux-контейнеры для Windows - 1

LinuxKit: что это?

Для исполнения Linux-контейнеров с помощью Docker требуется минимальное ядро Linux и пользовательское пространство для процессов контейнера. Набор средств LinuxKit [2] был специально разработан Docker для создания надежных, компактных и портативных Linux-подсистем, в которых контейнеры Linux входят в состав платформы.

Ниже используется предварительная версия LinuxKit для Docker-контейнеров Linux, работающих в Windows. Работа над прототипом продолжается, и для его запуска необходима одна из недавно представленных сборок Windows Server Insider [3] или Windows 10 Insider.

Исполнение Linux-контейнеров в Windows

Приведенные ниже инструкции были проверены на сборках 16278 и 16281 Windows 10 и Windows Server Insider соответсвенно.

Перед тем как начать работу, убедитесь, что у вас установлены Docker для Windows [4] (если вы используете Windows 10) или Docker Enterprise Edition [5] (если вы используете Windows Server Insider).

Настройка Docker и LinuxKit

Чтобы получить доступ к предварительной сборке LinuxKit, можно выполнить следующие команды в PowerShell (с правами администратора):

$progressPreference = 'silentlyContinue'
mkdir "$Env:ProgramFilesLinux Containers”

Invoke-WebRequest -UseBasicParsing -OutFile linuxkit.zip https://github.com/friism/linuxkit/releases/download/preview-1/linuxkit.zip

Expand-Archive linuxkit.zip -DestinationPath "$Env:ProgramFilesLinux Containers."
rm linuxkit.zip

Теперь скачайте сборку демона Docker из основной ветви разработки с предварительной версией поддержки контейнеров Linux в Windows:

Invoke-WebRequest -UseBasicParsing -OutFile dockerd.exe https://master.dockerproject.org/windows/x86_64/dockerd.exe

Запустите из установки по умолчанию новый демон Docker, который ожидает передачи данных по отдельному каналу и использует отдельное хранилище:

$Env:LCOW_SUPPORTED=1
.dockerd.exe -D --experimental -H "npipe:////./pipe//docker_lcow" --data-root c:lcow

Тестируем

Запустите Linux-контейнер:

docker -H "npipe:////./pipe//docker_lcow" run -ti busybox sh

Docker только что запустил минимальную виртуальную машину с помощью экземпляра LinuxKit, в котором размещен Linux-контейнер.

Поскольку это одна из первых предварительных версий, ее возможности ограничены, однако она поддерживает базовые команды Docker, такие как pull и run.

Что дальше?

Разработка сборок Windows Server Insider и поддержки Linux-контейнеров Docker в Windows находится на ранней стадии. Разработчикам Windows и администраторам серверов будет удобнее работать с Linux-контейнерами Docker в Windows в новом релизе Windows Server. Разработчики смогут исполнять контейнеры Docker для Windows и Linux в одной системе, что упростит сборку и тестирование гетерогенных приложений, состоящих из контейнеров Docker для обеих платформ.

Администраторы, предпочитающие Windows, скоро смогут с легкостью запускать ПО, созданное специально для Linux (например, HAProxy и Redis), используя Linux-контейнеры Docker в Windows. В частности, эти контейнеры облегчат настройку Docker Enterprise Edition и приложения Universal Control Plane (которое использует компоненты, предназначенные специально для Linux) в операционной системе Windows Server.

Надеюсь, что это руководство поможет вам начать собственные эксперименты с LinuxKit.

Автор: stasus

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/264887

Ссылки в тексте:

[1] небольшой пост: https://blogs.technet.microsoft.com/windowsserver/2017/09/13/sneak-peek-3-windows-server-version-1709-for-developers/

[2] Набор средств LinuxKit: https://blog.docker.com/2017/04/introducing-linuxkit-container-os-toolkit/

[3] Windows Server Insider: https://blogs.windows.com/windowsexperience/2017/07/13/announcing-windows-server-insider-preview-build-16237

[4] Docker для Windows: https://docs.docker.com/docker-for-windows/install/

[5] Docker Enterprise Edition: https://docs.docker.com/engine/installation/windows/docker-ee/

[6] Источник: https://habrahabr.ru/post/339214/