Установка Docker на Windows
Уже давно в Windows 10 появилась нативная поддержка оболочки Bash, в окружении дистрибутива Ubuntu благодаря подсистеме Linux для Windows 10.
Вы можете запускать различные дистрибутивы Linux в Windows без виртуализации, а с недавних пор, можно даже полноценно заставить работать графический интерфейс, правда для этого уже нужна вторая версия WSL. В этой статье мы рассмотрим как установить Linux в Windows 10.
Что такое WSL
Microsoft Windows 10 имеет новую дополнительную функцию, которая называется Подсистема Windows для Linux (WSL). Она была добавлена в систему, начиная с обновления Anniversary Update и доступна только в 64-битных редакциях этой операционной системы.
С каждой новой версией в WSL всё меньше ограничений, вы уже можете использовать сервисы, а также с WSL 2 стали доступны графические приложения. Решение предназначено для разработчиков, которые хотят запускать linux-утилиты из командной строки Windows. Да, эти команды имеют доступ к файловой системе Windows, но вы не можете использовать их для автоматизации своих задач или в стандартной командной строке Windows. Теперь давайте разберемся как установить WSL в Windows 10.
Установка WSL в Windows 10
1. Проверка версии системы
Вы можете установить WSL в Windows 10 начиная с версии Windows 10 Insider Preview 14316, а для WSL версии 2, которая принесла много улучшений нужно обновление Windows 10 19041 или новее. Сначала убедитесь, что у вас правильная версия Windows. Для этого октройте PowerShell кликнув правой кнопкой по иконке пуск:
Затем выполните команду, если отображается версия как на снимке экрана или выше, значит всё хорошо. Иначе идите обновлять систему:
[environment]::osversion
2. Активация WSL и виртуализации
Чтобы активировать компонент Windows Subsystem for Linux можно использовать уже открытую командную строку PowerShell. Для этого выполните:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Дождитесь окончания загрузки и выполнения:
Перезагрузите компьютер, для этого нажмите Enter:
Затем выполните ещё одну команду чтобы включить компонент виртуализации Hyper-V:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Чтобы активировать компонент Windows Subsystem for Linux выполните:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Обязательно перезагрузите компьютер!
Скачайте и установите последнее ядро WSL2 Linux Kernel отсюда: https://aka.ms/wsl2kernel или прямая ссылка:
Чтобы всегда по умолчанию использовалась версия WSL 2 необходимо выполнить такую команду:
wsl --set-default-version 2
Если у вас уже установлен дистрибутив (например, Kali Linux) в WSL1, то для обновления выполните команду:
wsl --set-version kali-linux 2
Установка Linux
Далее вам надо установить какой-либо дистрибутив Linux из магазина Microsoft. Достаточно просто открыть магазин и набарть в поиске имя дистрибутива, например Ubuntu, затем нажмите кнопку Get:
Дождитесь завершения установки и запустите загруженный дистрибутив из главного меню:
Настройка дистрибутива
При первом запуске будет выполняться настройка окружения. Вам необходимо указать имя пользователя:
Затем два раза пароль:
После этого вы сможете пользоваться оболочкой Bash в Windows 10:
Установка Docker на Windows 10
Теперь установим Docker Desktop WSL 2 backend, идем по ссылке, cкачиваем и устанавливаем Docker Desktop for Windows(stable).
Запускаем скачанный файл и производим обычную установку приложения Windows.
При установке убедитесь что установлена галочка на Enable WSL 2 Windows Features:
Перекидываем проект
WSL используют файловую систему линукса, тома винды просто подмонтированы и процесс чтения с NTFS намного медленнее, по этой причине Docker будет сильно тормозить. На одном файле это незаметно, но если у вас сотня файлов как во фреймворках, то тормозить будет очень сильно, процесс открытия страницы займет несколько секунд.
Решение простое, перекидываем весь проект в WSL2, для этого открываем сетевую шару вбив \\WSL$
в проводник, там будет находится папка с названием вашего WSL дистрибутива, например у меня это Ubuntu. Затем перекидываем туда проект, например в папку /home/
и запускаем docker-compose
, скорость ответа вас приятно удивит:
Каких то неудобств при работе нет, IDE отлично грузят проекты через сетевую шару, формально файлы на этом же ПК, единственный минус, все по дефолту размещается на диске С
.