Майже кожен сучасний проект немислимий без використання докера. Він дозволяє зробити середовище розробки уніфікованим для всіх розробників. Незважаючи на те, що докер без проблем встановлюється на ОС Віндовсі, все ж швидкодія таких проектів на досить низькому рівні. Я розповім про свій вдалий досвід розгортання проектів на ОС Віндовс та проблеми, з якими я зіткнувся. Однак, якщо у вас є що доповнити чи виправити, напишіть мені обов'язково.
Після декількох недавдач кроект я вирішив розгортати не безпосередньо на Віндовс, а на WSL2 і далі я поясню чому. Коли я починав знайомитись з WSL у мене була встановлена ОС Віндовс 10. І тут є певний нюанс. Залежності від збірки вона може мати або першу, або другу версію WSL. Другу версію можна встановити (включити) на десяту віндовс тільки якщо номер збірки - 18362 або вищий. Щоб перевірити номер збірки потрібно зайти в Пуск - налаштування - Система - Про систему - Збірка ОС. Отож я оновив свою Віндовся 10 до останньої збірки і встановив проект на WSL2, але мене очікувало розчарування - я не отримав значного підвищення продуктивності роботи проекту. Тому я прийняв рішення оновитись до Віндовс 11. Отже всі мої наступні рекомендації стосуються саме Віндовс 11.
За замовчуванням WSL2 вимкнена. Щоб її увімкнути:
Далі треба скачати та встановити емулятор Ubuntu з Microsoft store. На цьому кроці дуже важливо, щоб ви скачали саме цю версію. Microsoft store має й інші версії Ubuntu, але з деякими з них у мене були труднощі.
На моїй Віндовся 10 було встановлено 2 версії WSL, але в Віндовс 11 - зазвичай лише друга, проте для впевненості я раджу вам провести ряд запобіжних заходів.
Встановити WSL2 за замовчуванням. Відкриваємо cmd wsl --set-default-version 2
Встановлюємо версію WSL2 для щойно встановленої Ubuntuwsl --set-version Ubuntu 2
Ви можете використовувати лише сам докер, але я користуюсь Docker Desktop, який включає в себе ще і багато додаткових інструментів. Головною його перевагою є чудовий інтерфейс, однак Docker Desktop є платним при комерційному використанні. Тобто робити якісь особисті не комерційні проекти на ньому можна, але якщо ви використовуєте його як працівник комерційної компанії, необхідно купити ліцензію.
Після встановлення раджу перевірити налаштування WSL2. Зайдіть в консоль і введіть команду wsl -l -v C:\Users\Dmytro>wsl -l -v NAME STATE VERSION* Ubuntu Running 2 docker-desktop-data Running 2 docker-desktop Running 2
Тепер треба інтегрувати Docker Desktop та встановлений емулятор Ubuntu. Заходьте в Docker Desktop. В правому верхньому куті є символ шестерні (налаштування). Клацніть по ньому. У вкладці General (Загальне) поставте галочку “Use the WSL 2 based engine”

Далі переходимо у вкладку Resources (Ресурси) - WSL integration (WSL інтеграція). Поставте галочку “Enable integration with my default WSL distro” та ввімкніть перемикач біля Ubuntu.
Далі тиснемо кнопку “Apply & restart”. Докер перезапуститься і ви можете починати роботу.
Якщо ви все зробили правильно у вас мало з’явитись 3 нові папки в “Моєму Комп’ютері”:
- docker-desktop
- docker-desktop-data
- Ubuntu

Перші дві папки використовуються докером для власних потреба, а остання - те з чим нам треба працювати.
На початку статті я казав, що проект я розгортав не безпосередньо в Віндовс, а в WSL. Всі вище перелічені дії були для того, щоб можна було склонувати проект в файлову систему Лінукс. Коли я експерементував з докером, я пробував клонувати проект з GitHub в одну з папок Windows. Клонування проходить успішно, адже гіт стабільно працює на різних ОС. Падіння продуктивності відбувається при монтуванні папки віндовс і відповідної папки в середині докер контейнера, тому що файли в них мають як мінімум різні закінчення для рядків.
Тому важливо клонувати проект саме у новостворену папку “Ubuntu”. Для тесту можете склонувати і запустити даний сайт локально. Для цього нам потрібно потрапити в віртуальну машину. Є декілька варіантів:
Головна папка, в яку ви потрапите, буде відповідати папці Ubuntu, яка відкривається через Файловий провідник. Отож протестуємо:mkdir projectscd projectsmkdir testcd testsudo apt-get updatesudo apt-get install git dockergit clone https://github.com/hevyweb/mySite.git .docker-desktop up
При першому запуску докер збере та запустить проект. Слідкуйте за виводом логу встановлення. Можливі помилки.