Статьи по теме
| Content by Label | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Эта инструкция для тех, кто получил нужные доступы, хочет начать кодить, но пока ничего не устанавливал на свой компьютер.
Здесь будет описано, как и что надо установить и настроить, чтобы получить среду для запуска и разработки сервисов.
Оглавление
| Table of Contents |
|---|
Требования: Windows 10 обновление как минимум мая 2020го года. На windows 7 или более ранних версиях ничего не получится. На windows 10 более ранних версий - не рекомендуем. Лучше обновитесь, благо крякеры винды спокойно выдерживают установку обновлений.
Что мы будем устанавливать и использовать (и для чего это нужно):
- WSL 2 - windows subsystem for linux. Это специальный софт, позволяющий работать ядру операционной системы linux прямо поверх винды. Т.к. наши сервисы созданы под linux и работают в docker-контейнерах, то нам нужна поддержка linux-окружения для работы.
- Ubuntu 20.04 - Специально подготовленный дистрибутив linux, который будет работать поверх WSL2.
- Docker Desktop - окружение docker, созданное для Windows, которое также будет работать поверх WSL2 (т.к. внутри себя использует механизмы linux).
- VSCode - Очень мощная опенсорсная IDE от Microsoft, удобная равно как для бэкенда, так и для фронтенда. В ней пишем сам код
Шаг 1. Установка WSL 2
- Открой PowerShell от имени администратора
WSL - системная функция Windows 10, её не нужно установить, её нужно включить. Скопируй, вставь эту команду в PowerShell (там работает Ctrl+V) и запусти:
Code Block language bash dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
WSL 2 требует, чтобы была включена функция «Платформа виртуальных машин» в Windows 10. Она отделена от Hyper-V и предоставляет некоторые из наиболее интересных интеграций платформ, доступных в новой версии подсистемы Windows для Linux.
Чтобы включить платформу виртуальных машин, выполни команду:
Code Block language bash dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Скачай и установи обновление Windows для поддержки WSL 2(Стандартно может использоваться WSL1, она менее эффективная и не подходит для виртуализации, которую использует Docker)
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi - Перезагрузи компьютер. Это поможет всем изменениям правильно подтянуться.
Активируй WSL 2 по-умолчанию.
Code Block language bash wsl --set-default-version 2
- Поздравляю! Теперь всё готово к тому, чтобы установить Ubuntu!
Шаг 2. Установка Ubuntu
Установка Ubuntu уже немного проще :)
- Перейди по ссылке https://www.microsoft.com/store/apps/9n6svws3rx71 и нажми на кнопку Get, затем согласись открыть ссылку в Windows Store:
- Нажми на кнопочку Приобрести, затем "Установить". Дождись окончания скачивания и установки
- После успешной установки в меню Пуск будет доступно приложение Ubuntu 20.04. Запусти его.
- Откроется консолька, в которой будет написано Installing, this may take a few minutes. Дождись окончания установки.
- В конце установки консолька предложит тебе придумать и ввести логин и пароль для linux-пользователя. Можешь ввести любые логин и пароль, они не обязаны совпадать с виндоусовскими.
Главное - выбери логин/пароль такими, чтобы не забыть их!!!
P.S. После ввода логина-пароля жми Enter, чтобы зафиксировать
P.P.S. Когда будешь вводить пароль - консоль будет оставаться пустой. Так и задумано - символы всё равно вводятся, но они невидимы из консоли. Поэтому нужно ввести "в слепую", нажать Enter, и потом ввести этот же пароль снова (для проверки) - Успех! Ubuntu успешно установлена! Можешь проверить работу командой ping -c3 ya.ru
Шаг 3: Установка Docker Desktop
Пара слов про эту технологию, а также где (и зачем) мы её применяем.
Если про Linux в целом все +- знают и понимают, зачем она нужна, то упоминание слова Docker, как правило вызывает непонимание.
Главная мысль: Docker - это инструмент для создания контейнеризованных приложений и работы с ними.
Что такое контейнер?
Представь себе типичное приложение. Оно представляет собой бинарник + какие-то системные библиотеки, от которых он зависит (ну, например, libstdc++ - runtime-библиотеки языка c++).
Контейнер - это "завёрнутое в одну упаковку" приложение со всеми нужными ему зависимостями.
Контейнеры запускаются в полностью изолированном окружении - у них своя виртуальная файловая система, своя виртуальная сеть, своя виртуальная выделенная память и т.д.
Складывается впечатление, что запущенный контейнер - это эдакая виртуальная операционная система.
Это неправильное впечатление . Дело в том, что при запуске контейнера запускается именно программа и её зависимости. Само ядро операционки контейнер не запускает, вместо этого он использует уже запущенное ядро твоей текущей операционной системы (linux умеет создавать изолированные пространства для приложений).
Благодаря этому контейнеры намного более "легковесные" (запуск программы требует намного меньше оперативки, CPU, нежели запуск целой OC вместе с программой) и "гибкие" (время запуска/остановки контейнера очень небольшое в сравнении с полноценной ОС). На одной системе может крутиться сотня контейнеров и это будет ок.
Каждый наш сервис - это docker-контейнер. Так мы делаем сервисы легко переносимыми и разворачиваемыми.
Docker Desktop же - это просто оболочка, которая позволяет работать с Docker-контейнерами из под Windows.
Установка Docker Desktop на Windows.
- Скачай и установи Docker Desktop по ссылке: https://www.docker.com/products/docker-desktop
- Запусти Docker Desktop. Прими лицензионное соглашение. После этого ничего менять не нужно, просто дождись зелёной плашки (см. скрин). Она символизирует, что движок для работы с Docker-контейнерами запущен
После становления плашки из жёлтой в зелёную можешь закрыть окошко. Само приложение свернётся в трей и будет выглядеть вот так: - Открой консоль Ubuntu и выполни последовательно следующие команды (в терминале работает вставка из буфера обмена по ПКМ):
(первая команда создаст группу docker, если её не существует. Вторая - добавит текущего пользователя в неё. Наличие пользователя в этой группе откроет доступ к командам docker и docker-compose)
Важно: sudo используется для запуска команды с правами суперпользователя (пользователя с неограниченными правами в системе linux). Он потребует ввода пароля вашего linux-пользователя для подтверждения действий.Code Block language bash sudo groupadd docker sudo usermod -aG docker $USER
- Теперь вы можете проверить работу Docker командой docker info:
- Поздравляю! Теперь у вас есть работающий docker!
Шаг 4: Установка VSCode (Visual Studio Code)
(Важно: не путать с Visual Studio! Это две совершенно разных IDE, ничего общего друг с другом не имеющих!)
Мы настоятельно рекомендуем пользоваться именно этой IDE, т.к. под неё есть вся необходимая конфигурация, которая сделает вам автодополнение, проверку кодстайла и т.д.
- Установи Visual Studio Code по ссылке https://code.visualstudio.com/
- Установи расширение для работы внутри WSL: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
- Теперь ты сможешь переключаться на работу внутри WSL (это важно, т.к. весь код будет лежать там, и работать мы будем внутри WSL):
После перехода в WSL зеленая кнопка внизу слева должна теперь отображать надпись: WSL: Ubuntu-20.04
Шаг 5 (опциональный): Установка Windows Terminal
В VSCode есть консоль, её вполне достаточно для разработки вместе с консолью Ubuntu,
но если ты всё же хочешь заиметь удобную отдельную консольку - очень рекомендую установить Windows Terminal - https://www.microsoft.com/en-us/p/windows-terminal
Это просто графическая оболочка над cmd, Powershell, Ubuntu, Git Shell (и другими консолями) с красивыми удобными шрифтами, вкладками и т.п.
Слева - Windows Terminal. Справа - Ubuntu













