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

в 6:25, , рубрики: docker, linux, windows, Блог компании Microsoft, контейнеры, Разработка под Linux, разработка под windows

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

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

LinuxKit: что это?

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

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

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

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

Перед тем как начать работу, убедитесь, что у вас установлены Docker для Windows (если вы используете Windows 10) или Docker Enterprise Edition (если вы используете 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

Источник

Поделиться

* - обязательные к заполнению поля