Привет, Хабр! Неделю назад я рассказывал вам о новой возможности, которая доступна в предварительных выпусках Docker и Windows Server/Windows 10 — запуск Linux контейнеров c Hyper-V изоляцией, аналогично Windows контейнерам с Hyper-V изоляцией. В этом пошаговом руководстве речь пойдёт про аналогичный запуск контейнеров с Ubuntu в этом окружении.
![](https://habrastorage.org/r/w780q1/webt/59/dd/d7/59ddd7a18ce4b877729216.jpeg)
Как я уже писал до ката, контейнеры Docker теперь можно запускать в Windows 10 и Windows Server, используя Ubuntu в качестве среды хостинга. Иначе говоря, благодаря совместному использованию технологии Docker и виртуализации Hyper-V в Windows, вы сможете запускать собственные Linux-приложения в Windows, используя – Ubuntu!
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/0af/53c/543/0af53c5439ad5f77bf815350965e76cc.png)
1. Вам понадобится ПК x86 с 64-разрядным процессором и 8 ГБ оперативной памяти, работающий под управлением Windows 10 или Windows Server.
2. Запускать контейнеры Linux в Hyper-V могут только участники программы предварительной оценки Windows. Эта программа позволяет тестировать предварительные выпуски программного обеспечения и будущие версии Windows.
3. Если для вашего развертывания важны стабильность и конфиденциальность (программа предварительной оценки Windows позволяет Microsoft собирать информацию об использовании), лучше дождитесь выхода обновления Windows 10 Fall Creator Update в октябре 2017. В этом выпуске технология Docker с Hyper-V будет доступна без необходимости участия в ней.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/c73/e98/34a/c73e9834a8d335ad8cbd036b9f4dac33.png)
4. Вам также понадобится последний выпуск Docker, его можно скачать отсюда: http://dockerproject.org.
5. Наконец, вам нужно убедиться, что вы установили программу для разархивирования образа контейнера-хоста Ubuntu, например, 7-Zip или XZ Utils.
Если вы уже являетесь участником этой программы, переходите к следующему шагу.
I этап:
1. Откройте следующую ссылку в вашем веб-браузере:
https://insider.windows.com/en-us/getting-started/.
2. Чтобы зарегистрироваться, войдите в систему, используя ту же учетную запись Microsoft, которую вы используете для входа в Windows 10, и пройдите по ссылке Register your personal account (Зарегистрируйте свою персональную учетную запись) на странице начала работы с Программой предварительной оценки Windows. Подтвердите согласие с условиями для завершения регистрации.
3. Теперь вам нужно открыть Настройки в меню Start (Пуск) Windows 10, выбрать Updates & Security (Обновления и безопасность), а затем Windows Insider Program (Программа предварительной оценки Windows) в меню слева.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e00/27e/359/e0027e359ffc36de9d0d74b4daa85be0.png)
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 перезагрузить ваш компьютер. После перезагрузки вам, скорее всего, придется дождаться завершения установки некоторого количества обновлений, прежде чем перейти к следующему шагу.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/83d/471/0aa/83d4710aa87e0c4ade8a98ad3a4d7c64.png)
1. Скачайте Docker для Windows из магазина Docker Store.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/fbd/098/58f/fbd09858f05dbafc405a36fe8a9923ff.png)
2. После скачивания выполните установку и перезагрузите систему, когда появится соответствующий запрос.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/103/81c/b92/10381cb9227354d8f12f0a3b4d911738.png)
3. После перезагрузки запустится Docker. Docker использует функцию Hyper-V, поэтому при необходимости он попросит вас включить ее и выполнить перезагрузку. Нажмите OK, чтобы Docker включил Hyper-V и перезагрузите систему.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/4f8/64e/7c2/4f864e7c215291f1ec71865bbf927c5c.png)
1. Скачайте последний образ контейнера Ubuntu для Windows с веб-сайта Canonical Partner Images.
2. Разархивируйте скачанный образ с помощью 7-Zip или XZ Utils:
1. Сначала создайте два каталога.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/0c5/74b/1b9/0c574b1b9010ccddbb16358aadae6279.png)
2. Создайте каталог C:\lcow, который будет использоваться как область временных файлов для Docker при подготовке контейнеров.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/f5f/b0c/afe/f5fb0cafe0b4e9573ff5bb9ec017ca76.png)
3. Также создайте каталог C:\Program Files\Linux Containers. В нем будет храниться образ контейнера Ubuntu.
4. Нужно будет назначить для этого каталога дополнительные разрешения, чтобы Docker мог использовать хранящиеся в нем образы. Выполните следующий скрипт Powershell в окне администратора Powershell:
Сохраните этот файл под именем set_perms.ps1 и запустите его.
СОВЕТ. Возможно, вам нужно будет выполнить команду
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/56d/7d8/96b/56d7d896b0f14c3b8982af4adaae8b15.png)
5. Теперь скопируйте файл с образом контейнера Ubuntu (.vhdx), разархивированный на предыдущем шаге, присвойте ему имя uvm.vhdx и поместите в каталог C:\Program Files\Linux Containers.
1. Docker для Windows требует наличия некоторых возможностей из предварительной версии для работы со средствами изоляции Hyper-V. Эти возможности пока недоступны в установленном ранее Docker CE, но вы можете скачать необходимые файлы с веб-сайта http://master.dockerproject.org.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/43b/be7/96d/43bbe796d8701f45254e622b6b4c76a6.png)
2. Скачайте файлы dockerd.exe и docker.exe с сайта http://master.dockerproject.org и сохраните в надежном месте, например, вашем собственном каталоге. Они понадобятся для запуска контейнера Ubuntu на следующем шаге.
1. Теперь вы готовы к запуску своего контейнера. Для начала откройте интерфейс командной строки (cmd.exe) от имени администратора и запустите dockerd.exe в нужной среде.
2. Затем откройте окно Powershell от имени администратора и запустите docker.exe, чтобы скачать образ для вашего контейнера.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/2fb/3ec/b4d/2fb3ecb4dc85575655b4eeacce3f76ae.png)
3. Наконец, настало время запустить контейнер. Снова запустите docker.exe и попросите систему развернуть новый образ.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/0af/53c/543/0af53c5439ad5f77bf815350965e76cc.png)
Поздравляю! Вы успешно настроили свою систему для работы с контейнерами c Hyper-V изоляцией в Windows и запустили собственный контейнер Ubuntu.
Если вам нужна помощь, чтобы начать работу с образами контейнера Ubuntu для Hyper-V или у вас возникли проблемы, поддержка всегда рядом:
![](https://habrastorage.org/webt/59/dd/d7/59ddd7a18ce4b877729216.jpeg)
Введение
Как я уже писал до ката, контейнеры Docker теперь можно запускать в Windows 10 и Windows Server, используя Ubuntu в качестве среды хостинга. Иначе говоря, благодаря совместному использованию технологии Docker и виртуализации Hyper-V в Windows, вы сможете запускать собственные Linux-приложения в Windows, используя – Ubuntu!
![](https://habrastorage.org/getpro/habr/post_images/0af/53c/543/0af53c5439ad5f77bf815350965e76cc.png)
Требования
1. Вам понадобится ПК x86 с 64-разрядным процессором и 8 ГБ оперативной памяти, работающий под управлением Windows 10 или Windows Server.
2. Запускать контейнеры Linux в Hyper-V могут только участники программы предварительной оценки Windows. Эта программа позволяет тестировать предварительные выпуски программного обеспечения и будущие версии Windows.
3. Если для вашего развертывания важны стабильность и конфиденциальность (программа предварительной оценки Windows позволяет Microsoft собирать информацию об использовании), лучше дождитесь выхода обновления Windows 10 Fall Creator Update в октябре 2017. В этом выпуске технология Docker с Hyper-V будет доступна без необходимости участия в ней.
![](https://habrastorage.org/getpro/habr/post_images/c73/e98/34a/c73e9834a8d335ad8cbd036b9f4dac33.png)
4. Вам также понадобится последний выпуск Docker, его можно скачать отсюда: http://dockerproject.org.
5. Наконец, вам нужно убедиться, что вы установили программу для разархивирования образа контейнера-хоста Ubuntu, например, 7-Zip или XZ Utils.
Как присоединиться к программе предварительной оценки Windows
Если вы уже являетесь участником этой программы, переходите к следующему шагу.
I этап:
1. Откройте следующую ссылку в вашем веб-браузере:
https://insider.windows.com/en-us/getting-started/.
2. Чтобы зарегистрироваться, войдите в систему, используя ту же учетную запись Microsoft, которую вы используете для входа в Windows 10, и пройдите по ссылке Register your personal account (Зарегистрируйте свою персональную учетную запись) на странице начала работы с Программой предварительной оценки Windows. Подтвердите согласие с условиями для завершения регистрации.
3. Теперь вам нужно открыть Настройки в меню Start (Пуск) Windows 10, выбрать Updates & Security (Обновления и безопасность), а затем Windows Insider Program (Программа предварительной оценки Windows) в меню слева.
![](https://habrastorage.org/getpro/habr/post_images/e00/27e/359/e0027e359ffc36de9d0d74b4daa85be0.png)
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 перезагрузить ваш компьютер. После перезагрузки вам, скорее всего, придется дождаться завершения установки некоторого количества обновлений, прежде чем перейти к следующему шагу.
![](https://habrastorage.org/getpro/habr/post_images/83d/471/0aa/83d4710aa87e0c4ade8a98ad3a4d7c64.png)
Установите Docker для Windows
1. Скачайте Docker для Windows из магазина Docker Store.
![](https://habrastorage.org/getpro/habr/post_images/fbd/098/58f/fbd09858f05dbafc405a36fe8a9923ff.png)
2. После скачивания выполните установку и перезагрузите систему, когда появится соответствующий запрос.
![](https://habrastorage.org/getpro/habr/post_images/103/81c/b92/10381cb9227354d8f12f0a3b4d911738.png)
3. После перезагрузки запустится Docker. Docker использует функцию Hyper-V, поэтому при необходимости он попросит вас включить ее и выполнить перезагрузку. Нажмите OK, чтобы Docker включил Hyper-V и перезагрузите систему.
![](https://habrastorage.org/getpro/habr/post_images/4f8/64e/7c2/4f864e7c215291f1ec71865bbf927c5c.png)
Скачайте образ контейнера Ubuntu
1. Скачайте последний образ контейнера Ubuntu для Windows с веб-сайта Canonical Partner Images.
2. Разархивируйте скачанный образ с помощью 7-Zip или XZ Utils:
C:\Users\mathi\> .\xz.exe -d xenial-container-hyper-v.vhdx.xz
Подготовьте окружение для контейнера
1. Сначала создайте два каталога.
![](https://habrastorage.org/getpro/habr/post_images/0c5/74b/1b9/0c574b1b9010ccddbb16358aadae6279.png)
2. Создайте каталог C:\lcow, который будет использоваться как область временных файлов для Docker при подготовке контейнеров.
![](https://habrastorage.org/getpro/habr/post_images/f5f/b0c/afe/f5fb0cafe0b4e9573ff5bb9ec017ca76.png)
3. Также создайте каталог C:\Program Files\Linux 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 MACHINE\Virtual Machines", "FullControl","ContainerInherit,ObjectInherit", "None", "Allow")
$acl.SetAccessRule($vmGroupRule)
Set-Acl -AclObject $acl -Path $Root
Сохраните этот файл под именем set_perms.ps1 и запустите его.
СОВЕТ. Возможно, вам нужно будет выполнить команду
Set-ExecutionPolicy -Scope process unrestricted
, чтобы запускать неподписанные скрипты Powershell.![](https://habrastorage.org/getpro/habr/post_images/56d/7d8/96b/56d7d896b0f14c3b8982af4adaae8b15.png)
C:\Users\mathi\> .\set_perms.ps1 "C:\Program Files\Linux Containers"
C:\Users\mathi\>
5. Теперь скопируйте файл с образом контейнера Ubuntu (.vhdx), разархивированный на предыдущем шаге, присвойте ему имя uvm.vhdx и поместите в каталог C:\Program Files\Linux Containers.
Дополнительные подготовительные шаги для Docker
1. Docker для Windows требует наличия некоторых возможностей из предварительной версии для работы со средствами изоляции Hyper-V. Эти возможности пока недоступны в установленном ранее Docker CE, но вы можете скачать необходимые файлы с веб-сайта http://master.dockerproject.org.
![](https://habrastorage.org/getpro/habr/post_images/43b/be7/96d/43bbe796d8701f45254e622b6b4c76a6.png)
2. Скачайте файлы dockerd.exe и docker.exe с сайта http://master.dockerproject.org и сохраните в надежном месте, например, вашем собственном каталоге. Они понадобятся для запуска контейнера Ubuntu на следующем шаге.
Запустите контейнер Ubuntu в Hyper-V
1. Теперь вы готовы к запуску своего контейнера. Для начала откройте интерфейс командной строки (cmd.exe) от имени администратора и запустите dockerd.exe в нужной среде.
C:\Users\mathi\> set LCOW_SUPPORTED=1
C:\Users\mathi\> .\dockerd.exe -D --data-root C:\lcow
2. Затем откройте окно Powershell от имени администратора и запустите docker.exe, чтобы скачать образ для вашего контейнера.
C:\Users\mathi\> .\docker.exe pull ubuntu
![](https://habrastorage.org/getpro/habr/post_images/2fb/3ec/b4d/2fb3ecb4dc85575655b4eeacce3f76ae.png)
3. Наконец, настало время запустить контейнер. Снова запустите docker.exe и попросите систему развернуть новый образ.
C:\Users\mathi\> .\docker.exe run -it ubuntu
![](https://habrastorage.org/getpro/habr/post_images/0af/53c/543/0af53c5439ad5f77bf815350965e76cc.png)
Поздравляю! Вы успешно настроили свою систему для работы с контейнерами c Hyper-V изоляцией в Windows и запустили собственный контейнер Ubuntu.
Помощь
Если вам нужна помощь, чтобы начать работу с образами контейнера Ubuntu для Hyper-V или у вас возникли проблемы, поддержка всегда рядом: