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

Запуск контейнеров с Ubuntu на Windows

Привет! Неделю назад я рассказывал [1] вам о новой возможности, которая доступна в предварительных выпусках Docker и Windows Server/Windows 10 — запуск Linux контейнеров c Hyper-V изоляцией, аналогично Windows контейнерам с Hyper-V изоляцией. В этом пошаговом руководстве речь пойдёт про аналогичный запуск контейнеров с Ubuntu в этом окружении.

Запуск контейнеров с Ubuntu на Windows - 1

Введение

Как я уже писал до ката, контейнеры Docker теперь можно запускать в Windows 10 и Windows Server, используя Ubuntu в качестве среды хостинга [2]. Иначе говоря, благодаря совместному использованию технологии Docker и виртуализации Hyper-V в Windows, вы сможете запускать собственные Linux-приложения в Windows, используя – Ubuntu!

Запуск контейнеров с Ubuntu на Windows - 2

Требования

1. Вам понадобится ПК x86 с 64-разрядным процессором и 8 ГБ оперативной памяти, работающий под управлением Windows 10 или Windows Server.

2. Запускать контейнеры Linux в Hyper-V могут только участники программы предварительной оценки Windows [3]. Эта программа позволяет тестировать предварительные выпуски программного обеспечения и будущие версии Windows.

3. Если для вашего развертывания важны стабильность и конфиденциальность (программа предварительной оценки Windows позволяет Microsoft собирать информацию об использовании), лучше дождитесь выхода обновления Windows 10 Fall Creator Update [4] в октябре 2017. В этом выпуске технология Docker с Hyper-V будет доступна без необходимости участия в ней.

Запуск контейнеров с Ubuntu на Windows - 3

4. Вам также понадобится последний выпуск Docker, его можно скачать отсюда: http://dockerproject.org [5].

5. Наконец, вам нужно убедиться, что вы установили программу для разархивирования образа контейнера-хоста Ubuntu, например, 7-Zip [6] или XZ Utils [7].

Как присоединиться к программе предварительной оценки Windows

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

I этап:

1. Откройте следующую ссылку в вашем веб-браузере:

https://insider.windows.com/en-us/getting-started/ [8].

2. Чтобы зарегистрироваться, войдите в систему, используя ту же учетную запись Microsoft, которую вы используете для входа в Windows 10, и пройдите по ссылке Register your personal account (Зарегистрируйте свою персональную учетную запись) на странице начала работы с Программой предварительной оценки Windows. Подтвердите согласие с условиями для завершения регистрации.

3. Теперь вам нужно открыть Настройки в меню Start (Пуск) Windows 10, выбрать Updates & Security (Обновления и безопасность), а затем Windows Insider Program (Программа предварительной оценки Windows) в меню слева.

Запуск контейнеров с Ubuntu на Windows - 4

4. В случае необходимости нажмите кнопку Fix me (Исправить), если Windows выдает предупреждение Your Windows Insider Program account needs attention (Ваша учетная запись в Программе предварительной оценки Windows требует внимания).

II этап:

1. На панели Windows Insider Program (Программа предварительной оценки Windows) нажмите Get Started (Начать). Если ваша учетная запись Microsoft не связана с вашей копией Windows 10, войдите в систему при появлении запроса и выберите учетную запись, которую вы хотите связать с установленной копией операционной системы.

2. Теперь вы сможете выбрать, какое содержимое вы хотите получать как участник Программы предварительной оценки Windows. Чтобы обеспечить доступность средств изоляции в Hyper-V, необходимых технологии Docker, выберите Fast (Быстрый). Дважды щелкните Confirm (Подтвердить), затем позвольте Windows перезагрузить ваш компьютер. После перезагрузки вам, скорее всего, придется дождаться завершения установки некоторого количества обновлений, прежде чем перейти к следующему шагу.

Запуск контейнеров с Ubuntu на Windows - 5

Установите Docker для Windows

1. Скачайте Docker для Windows из магазина Docker Store [9].

Запуск контейнеров с Ubuntu на Windows - 6

2. После скачивания выполните установку и перезагрузите систему, когда появится соответствующий запрос.

Запуск контейнеров с Ubuntu на Windows - 7

3. После перезагрузки запустится Docker. Docker использует функцию Hyper-V, поэтому при необходимости он попросит вас включить ее и выполнить перезагрузку. Нажмите OK, чтобы Docker включил Hyper-V и перезагрузите систему.

Запуск контейнеров с Ubuntu на Windows - 8

Скачайте образ контейнера Ubuntu

1. Скачайте последний образ контейнера Ubuntu для Windows с веб-сайта Canonical Partner Images [10].

2. Разархивируйте скачанный образ с помощью 7-Zip или XZ Utils:

C:Usersmathi> .xz.exe -d xenial-container-hyper-v.vhdx.xz

Подготовьте окружение для контейнера

1. Сначала создайте два каталога.

Запуск контейнеров с Ubuntu на Windows - 9

2. Создайте каталог C:lcow, который будет использоваться как область временных файлов для Docker при подготовке контейнеров.

Запуск контейнеров с Ubuntu на Windows - 10

3. Также создайте каталог C:Program FilesLinux Containers. В нем будет храниться образ контейнера Ubuntu.

4. Нужно будет назначить для этого каталога дополнительные разрешения, чтобы Docker мог использовать хранящиеся в нем образы. Выполните следующий скрипт Powershell в окне администратора Powershell:

param(
[string] $Root
)
# Give the virtual machines group full control
$acl = Get-Acl -Path $Root
$vmGroupRule = new-object System.Security.AccessControl.FileSystemAccessRule("NT VIRTUAL MACHINEVirtual Machines", "FullControl","ContainerInherit,ObjectInherit", "None", "Allow")
$acl.SetAccessRule($vmGroupRule)
Set-Acl -AclObject $acl -Path $Root

Сохраните этот файл под именем set_perms.ps1 и запустите его.

СОВЕТ. Возможно, вам нужно будет выполнить команду Set-ExecutionPolicy -Scope process unrestricted, чтобы запускать неподписанные скрипты Powershell.

Запуск контейнеров с Ubuntu на Windows - 11

C:Usersmathi> .set_perms.ps1 "C:Program FilesLinux Containers"
C:Usersmathi>

5. Теперь скопируйте файл с образом контейнера Ubuntu (.vhdx), разархивированный на предыдущем шаге, присвойте ему имя uvm.vhdx и поместите в каталог C:Program FilesLinux Containers.

Дополнительные подготовительные шаги для Docker

1. Docker для Windows требует наличия некоторых возможностей из предварительной версии для работы со средствами изоляции Hyper-V. Эти возможности пока недоступны в установленном ранее Docker CE, но вы можете скачать необходимые файлы с веб-сайта http://master.dockerproject.org [11].

Запуск контейнеров с Ubuntu на Windows - 12

2. Скачайте файлы dockerd.exe и docker.exe с сайта http://master.dockerproject.org [11] и сохраните в надежном месте, например, вашем собственном каталоге. Они понадобятся для запуска контейнера Ubuntu на следующем шаге.

Запустите контейнер Ubuntu в Hyper-V

1. Теперь вы готовы к запуску своего контейнера. Для начала откройте интерфейс командной строки (cmd.exe) от имени администратора и запустите dockerd.exe в нужной среде.

C:Usersmathi> set LCOW_SUPPORTED=1
C:Usersmathi> .dockerd.exe -D --data-root C:lcow

2. Затем откройте окно Powershell от имени администратора и запустите docker.exe, чтобы скачать образ для вашего контейнера.

C:Usersmathi> .docker.exe pull ubuntu

Запуск контейнеров с Ubuntu на Windows - 13

3. Наконец, настало время запустить контейнер. Снова запустите docker.exe и попросите систему развернуть новый образ.

C:Usersmathi> .docker.exe run -it ubuntu

Запуск контейнеров с Ubuntu на Windows - 14

Поздравляю! Вы успешно настроили свою систему для работы с контейнерами c Hyper-V изоляцией в Windows и запустили собственный контейнер Ubuntu.

Помощь

Если вам нужна помощь, чтобы начать работу с образами контейнера Ubuntu для Hyper-V или у вас возникли проблемы, поддержка всегда рядом:

Автор: Стас Павлов

Источник [15]


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

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

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

[1] рассказывал: https://habrahabr.ru/company/microsoft/blog/339214/

[2] хостинга: https://www.reg.ru/?rlink=reflink-717

[3] программы предварительной оценки Windows: https://insider.windows.com/en-us/

[4] Windows 10 Fall Creator Update: https://www.microsoft.com/en-us/windows/upcoming-features

[5] http://dockerproject.org: http://dockerproject.org

[6] 7-Zip: http://7-zip.org/

[7] XZ Utils: https://tukaani.org/xz/

[8] https://insider.windows.com/en-us/getting-started/: https://insider.windows.com/en-us/getting-started/

[9] Docker Store: https://store.docker.com/editions/community/docker-ce-desktop-windows

[10] веб-сайта Canonical Partner Images: https://partner-images.canonical.com/hyper-v/linux-containers/xenial/current/

[11] http://master.dockerproject.org: http://master.dockerproject.org

[12] Сообщество Ask Ubuntu: https://askubuntu.com/

[13] Форумы Ubuntu: https://ubuntuforums.org/

[14] IRC-поддержка: https://wiki.ubuntu.com/IRC/ChannelList

[15] Источник: https://habrahabr.ru/post/339746/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best