Linux on windows server 2016

Linux Docker container on Windows Server 2016

What is the way to run Linux docker container on Windows Server 2016? With Docker for Windows it easy to do in Windows 10. Is the only way to install Docker Toolbox and ignore the build-in containers feature all together?

5 Answers 5

It is possible to use Linux containers on W2016. It’s a bit hacky though. User «Algore» described it here but I’ve copied it into this answer, of course.

  • Download «Docker for Windows»: https://docs.docker.com/docker-for-windows/
  • Install «Docker for Windows» on Windows 10 Pro.
  • Copy C:\Program Files\Docker from the Windows 10 machine to C:\Program Files on your Server 2016 box.
  • On the W2016 box run install-windowsfeature hyper-v,containers
  • Copy these registry entries to a file and import them on your Server 2016 box (reg import):

—START—
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Docker Inc.\Docker\1.0]
«AppPath»=»\»C:\Program Files\Docker\Docker\Docker for Windows.exe\»»
«BinPath»=»\»C:\Program Files\Docker\Docker\resources\bin\»»

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\DockerService]
«EventMessageFile»=hex(2):43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,\ 00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,2e,00,\ 4e,00,45,00,54,00,5c,00,46,00,72,00,61,00,6d,00,65,00,77,00,6f,00,72,00,6b,\ 00,36,00,34,00,5c,00,76,00,34,00,2e,00,30,00,2e,00,33,00,30,00,33,00,31,00,\ 39,00,5c,00,45,00,76,00,65,00,6e,00,74,00,4c,00,6f,00,67,00,4d,00,65,00,73,\ 00,73,00,61,00,67,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\com.docker.service] «Type»=dword:00000010 «Start»=dword:00000002 «ErrorControl»=dword:00000000 «ImagePath»=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,\ 6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,44,00,6f,00,63,00,6b,00,65,\ 00,72,00,5c,00,44,00,6f,00,63,00,6b,00,65,00,72,00,5c,00,63,00,6f,00,6d,00,\ 2e,00,64,00,6f,00,63,00,6b,00,65,00,72,00,2e,00,73,00,65,00,72,00,76,00,69,\ 00,63,00,65,00,22,00,00,00
«DisplayName»=»Docker for Windows Service»
«ObjectName»=»LocalSystem»
«Description»=»Run Docker for Windows backend service»
—END—

You can add an entry to currentversion\run or a scheduled job if you want docker for windows.exe to start up automatically.

  • Restart the computer and run the PowerShell script C:\Program Files\Docker\Docker\Resources\mobylinuxvm.ps1 -Create

Look into this ps1 file and notice that you can set various options. Please refer to these websites:

  • Make sure the docker service com.docker.service ( start-service com.docker.service ) is running before you start C:\Program Files\Docker\Docker for Windows.exe

If you are running on server core and don’t have the tray icon, click «change privacy settings» when the notification comes up after it starts to get to settings (or modify the json in programdata)

Читайте также:  Команда терминала linux перезагрузка

If you run into issues when trying things and rebuilding, check out the C:\Program Files\Docker\Docker\Resources\forceremovedocker.ps1 file for locations to delete settings such as in C:\programdata . I would advise against running the script as it deletes all docker related things. Just use pieces of it.

Источник

Как включить подсистему Linux в Windows Server 2016

date

27.12.2017

user

itpro

directory

Linux, Windows Server 2016

comments

Комментариев пока нет

Одним из новшеств Windows Server 2016 версии RedStone 3 (1709) является встроенная поддержка запуска нативных бинарных файлов Linux ELF64. Данный функционал реализуется за счет отдельного компонента Windows Subsystem for Linux (WSL), который обеспечивает нужный слой совместимости. В этой обзорной статье мы покажем, как включить подсистему Windows для Linux в Windows Server 2016 и использовать ее для запуска Linux приложений.

Возможность запуска Linux приложений в Windows ранее была представлена в Windows 10. Эта функция носила название Bash on Windows. Начиная с Windows 10 Fall Creators Update это название более не используется и официально эта подсистема теперь называется WSL — Windows Subsystem for Linux. Кроме того, для ее использования более не нужно переключать ОС в режим разработчика (Developer Mode). WSL доступна как Windows Server, так и в виртуальных машинах Microsoft Azure

Предполагаем, что вы уже скачали и установили релиз Windows Server >= 1709. Это может быть сервер с полноценным GUI или в Core режиме.

Проверить текущую версию ОС можно так:

systeminfo | Select-String «^OS Name»,»^OS Version»

Чтобы проверить, что в вашей версии Windows Server имеется функционал WSL, выполните следующую команду:

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Чтобы включить поддержку подсистемы Linuх, выполните команду:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

После чего сервер нужно перезагрузить.

Далее необходимо скачть архив с адаптированным дистрибутивом Linux. На данный момент Microsoft предлагает поддержку следующих дистрибутивов:

Читайте также:  Astra linux mac address

В ближайшем будущем планируется добавить дистрибутивы CentOS и Fedora.

К примеру, с помощью PowerShell по HTTP протоколу, скачаем архив с дистрибутивом Ubuntu:

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.zip -UseBasicParsing

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604

Размер архива около 200 Мб. Распакуем его:

Expand-Archive ~/Ubuntu.zip ~/Ubuntu

Expand-Archive ~/Ubuntu.zip ~/Ubuntu

Исходный архив можно удалить:

Для запуска установки дистрибутива достаточно запустить файл:

Запустится мастер установки, который в том числе попросит указать имя пользователя и пароль, который вы будете использовать для доступа к середе Linux (эта учетная запись не связана с Windows и входит в группу sudoers, таким образом ей разрешено использовать команду sudo для установки пакетов)

Ubuntu.exe

Запустим обновление дистрибутива:

sudo apt-get update
sudo apt-get upgrade

Чтобы выйти из командой оболочки Linux и вернуться в PowerShell, наберите:

Открыть shell в любой момент можно командой:

Имеется возможность запускать команды Linux из консоли Windows и наоборот. К примеру, в консоли PowerShell можно вывести список файлов в каталоге командой ls. Формат команды должен быть такой:

Запуск команд Linux из Windows

Чтобы из Linux вызвать команду Windows, формат должен быть такой:

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

Запуск команд Windows из Linux

Нужно отметить, что из Linux можно запускать только те исполняемые файлы Windows, которые описаны в специальной переменной окружения. Чтобы добавить в переменную окружения новый путь, выполните команду:

Теперь можно вызвать любой файл из каталога %WinDir%\system32.

run notepad.exe from linux

Чтобы передать параметр на вход исполняемого файла, нужно воспользоваться такими конструкциями:

$notepad.exe “C:\temp\test.txt”
$notepad.exe C:\\temp\\test.txt

Все исполняемые файлы в этом случае запускаются в контексте учетной записи, запустившей bash.exe.

Итак, подсистему WSL можно использовать для тестирования, разработки и запуска утилит Linux, недоступных в Windows окружении без необходимости развертывать и настривать отдельную виртуальную машины с Linux.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Руководство по установке Windows Server

Подсистема Windows для Linux (WSL) доступна для установки на Windows Server 2019 (версия 1709) и более поздних версий. В этом руководстве рассматриваются действия по включению WSL на компьютере.

Читайте также:  Linux проверить скорость флешки

Установка WSL в Windows Server 2022

Теперь Windows Server 2022 поддерживает простую установку WSL с помощью команды:

Теперь вы можете установить все необходимые компоненты для запуска WSL в Windows Server 2022. Для этого введите эту команду в PowerShell от имени администратора или в командной строке Windows и перезапустите компьютер.

Эта команда позволяет включить необходимые дополнительные компоненты, скачать последнюю версию ядра Linux, установить WSL 2 в качестве компонента по умолчанию и установить дистрибутив Linux (по умолчанию Ubuntu).

Из стандартной документации по WSL вы узнаете, как выполнять следующие задачи:

Установка WSL в предыдущих версиях Windows Server

Чтобы установить WSL в Windows Server 2019 (версия 1709+), выполните действия, описанные ниже.

Включение подсистемы Windows для Linux

Перед запуском дистрибутивов Linux в Windows необходимо включить дополнительный компонент «Подсистема Windows для Linux» и перезагрузить компьютер.

Запустите PowerShell от имени администратора и выполните следующую команду:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 

Скачивание дистрибутива Linux

Инструкции и ссылки для скачивания нужного дистрибутива Linux см. в разделе Скачивание дистрибутивов в статье по выполнению установки вручную.

Извлечение и установка дистрибутива Linux

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

    Извлеките содержимое пакета .appx , с помощью PowerShell:

Rename-Item .\Ubuntu.appx .\Ubuntu.zip Expand-Archive .\Ubuntu.zip .\Ubuntu 
Add-AppxPackage .\app_name.appx 

Сбой установки с ошибкой 0x8007007e. При возникновении этой ошибки система не поддерживает WSL. Убедитесь, что вы используете сборку Windows 16215 или более позднюю версию. Проверьте используемую сборку. Также убедитесь, что WSL включен и ваш компьютер перезагружен после включения этой функции.

3. Добавьте путь к дистрибутиву Linux в переменную PATH в Windows (в этом примере C:\Users\Administrator\Ubuntu ) с помощью PowerShell:

$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User") [System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\Administrator\Ubuntu", "User") 

Теперь вы можете запустить дистрибутив из любого пути, введя .exe . Например: ubuntu.exe .

Источник

Оцените статью
Adblock
detector