WSL. Настройка и использование для Docker

Подсистема Windows для Linux
WSL

Когда следует использовать WSL?

WSL — это универсальный инструмент. Он предоставляет отличный способ узнать, как работать с инструментами Linux, попробовать различные дистрибутивы Linux или легко включить средства Linux и Windows в рабочую среду и среду разработки. WSL предназначен для разработки и имеет конкретные проблемы, которые следует учитывать, если вы хотите использовать его для рабочих нагрузок, но отлично подходит для конвейеров CI/CD.

Как установить WSL?

Для выполнения команды установки WSL необходимо убедиться, что вы работаете под управлением Windows 11 или Windows 10 версии 2004+ (сборка 19041 и выше).

Откройте PowerShell (или командную строку Windows) и введите:

wsl --install

Команда --install выполняет следующие действия:

включает дополнительные компоненты WSL и платформы виртуальных машин;
скачивает и устанавливает последнюю версию ядра Linux;
задает WSL 2 в качестве среды по умолчанию;
Скачивает и устанавливает дистрибутив Ubuntu Linux (может потребоваться перезагрузка)
Во время установки потребуется перезапустить компьютер.

wsl

Посмотрите статью об устранении неполадок при возникновении проблем.

Для дальнейших действий вам понадобятся базовые навыки работы с командной строкой linux. Создайте учетную запись пользователя и задайте пароль.

Bash

Давайте рассмотрим несколько базовых команд Bash, которые будут работать как в Bash, так и в PowerShell. Откройте командную строку Ubuntu (или предпочитаемое дистрибутив Linux) и введите следующие команды:

  1. pwd: рабочий каталог выводит путь к текущему каталогу, выбранному в командной строке.
  2. ls или dir: список содержимого текущего каталога. Некоторые команды включают флаги, которые могут изменить операцию. Например, введите ls -l дополнительные сведения о содержимом каталога, например размер, владелец и дата последнего изменения. Введите ls -a , чтобы включить все содержимое каталога, включая все скрытые файлы. Bash будет включать скрытые .bash_historyи .bash_logout.bashrc.profile файлы, которые могут быть полезны для административных задач и настройки Bash.
  3. cd: команда каталога изменений должна сопровождаться немного информацией, указывающей, на что нужно изменить каталог. Вы можете указать имя каталога, например cd project-folderпереместить уровень каталога, используя cd ..или перейти к домашнему каталогу.cd ~
  4. mkdir: создание нового каталога. Например, mkdir new-folder.
  5. cp: скопировать файл или каталог. Например, cp file.txt или cp folder-1. Создание копии с именем того же, что и существующий файл, автоматически заменит этот файл, поэтому рекомендуется использовать -i интерактивный флаг, который будет предупреждать вас перед удалением или заменой существующего файла. Например, cp -i file.txt.
  6. rm: удалить файл или каталог. Например, rm file.txt. Чтобы удалить каталог в Bash, необходимо добавить -r флаг. Например, rm -r folder-1cp Как и команда, рекомендуется использовать -i флаг для предоставления запросов, подтверждающих, что вы собираетесь удалить или удалить. Флаг -f принудительно удаляет, подавляя любые запросы. Как правило, рекомендуется избегать использования флага -f , если вы не уверены в том, что вы делаете.
  7. clear: очистить экран терминала.

WSL. Настройка и использование для Docker 1

Восстановление пароля пользователя WSL

Чтобы изменить или сбросить пароль, откройте дистрибутив Linux и введите команду: passwd Вам будет предложено ввести текущий пароль, а затем появится запрос на ввод нового пароля, который нужно подтвердить.

Если вы забыли пароль для дистрибутива Linux, сделайте следующее.

  1. Откройте PowerShell и перейдите в корень дистрибутива WSL по умолчанию с помощью команды wsl -u root.

    Если вам нужно обновить забытый пароль в дистрибутиве, который не используется по умолчанию, используйте команду wsl -d Debian -u root, заменив Debian именем целевого дистрибутива.

  2. После открытия дистрибутива WSL на корневом уровне в PowerShell можно использовать эту команду для обновления пароля: passwd <username> где <username> имя пользователя учетной записи в дистрибутиве, пароль которого вы забыли.
  3. Вам будет предложено ввести новый пароль UNIX, а затем подтвердить его. После успешного обновления пароля закройте WSL в PowerShell с помощью команды: exit

Использование WSL из Windows Terminal

Windows Terminal может запускать любое приложение с помощью интерфейса командной строки. К его основным функциям относится поддержка нескольких вкладок, панелей, символов Юникода и UTF-8, а также модуль отрисовки текста с ускорением GPU, возможность создания собственных тем и настройки текста, цвета, фона и сочетаний клавиш.

Всякий раз, когда установлен новый дистрибутив WSL Linux, для него будет создан новый экземпляр в Windows Terminal , который можно настроить в соответствии с вашими предпочтениями.

Рекомендуется использовать WSL с Windows Terminal, особенно если вы планируете работать с несколькими командными строками.

WSL для проектов

explorer.exe . — просмотр файлов из любой файловой системы в Windows проводник.

Проекты использующие Docker-контейнеры необходимо располагать в файловой системе linux.
Проекты нужно располагать в папке пользователя \\wsl.localhost\Ubuntu\home\<user_name>, что бы избежать лишних проблем с правами.

Docker

Установить Docker можно с страница на оф. сайте или прямая ссылка.

Сразу при входе или первом запуске Docker, вам предложат принять соглашение.
Далее будет запуск необходимых служб. Открывайте Docker Dashboard, ярлык на рабочем столе или в трее иконка.
Зайдите в настройки (1) и убедитесь (2) — что выбран WSL2.

WSL. Настройка и использование для Docker 2

 

Проверка работы docker

Попробуйте запустить контейнер через консоль wsl. Например, поднимем текстовый рассказ фильма Star Wars в контейнере.

  • Запустите WSL консоль.
  • Введите команду:
docker run -it --rm mikesplain/telnet towel.blinkenlights.nl

WSL. Настройка и использование для Docker 3

Кратко по параметрам:

  • run запуск нового контейнера.
  • -it контейнер будет запущен в интерактивном (i) режиме, и используется tty взаимодействие, позволяет использовать консоль внутри контейнера (t).
  • --rm контейнер будет удален после завершения своей работы.
  • mikesplain/telnet название образа, он будет загружен из dockerhub.
  • towel.blinkenlights.nl параметр, который будет использовать контейнер. В данном случае программа telnet.

В итоге увидите титры и начало истории, а значит все работает отлично и можно полноценно пользоваться Docker.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *